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