Lists open files and the corresponding processes. Note: Root privileges (or sudo) is required to list files opened by others.

# To find the processes that have a given file open:
lsof <path/to/file>

# To find the process that opened a local internet port:
lsof -i :<port>

# To only output the process ID (PID):
lsof -t <path/to/file>

# To list files opened by the given user:
lsof -u <username>

# To list files opened by the given command or process:
lsof -c <process_or_command_name>

# To list files opened by a specific process, given its PID:
lsof -p <PID>

# To list open files in a directory:
lsof +D <path/to/directory>

# To find the process that is listening on a local TCP port:
lsof -iTCP:<port> -sTCP:LISTEN