lsof

lsof meaning List Open Files is used to find out which files are open by which process

Basic

$ lsof 
$ sudo lsof -u root

Port-specific

$ lsof -i :8080
$ lsof -i :80 -i :22
$ lsof -i TCP:22
$ lsof -i TCP:1-1024
$ lsof -i UDP
$ lsof -i @192.168.1.5

Process-specific

$ lsof -c mysql 
$ lsof -c java 
$ lsof -c ssh 
$ lsof -c nginx 
$ lsof -c ssh -c httpd

User-specific

$ lsof -u www-data
$ lsof -u www-data -u ubuntu
$ lsof -i -u ^root # Except certain user

Network-specific

$ lsof -i 4 \# IPv4 only 
$ lsof -i 6 \# IPv6 only

PID-specific

$ lsof -p 1753
$ lsof -p ^3  # Except certain pids

Filename-specific

$ lsof /var/log/messages 
$ lsof /etc/passwd

Directory-specific

$ lsof +D /var/log # Within a directory

Kill

$ kill -9
$ lsof -t -u apache
$ kill -9 $(lsof -t -i :8080)