lsof命令

linux/unix里,任何东西都是以文件的形式存在的,例如pipe,IP sockets或unix sockets,文件与文件夹都是,包括inodes。

lsof主要的功能是以列表的形式展开,系统里有哪个文件被进程所使用或打开,例如:

  1. lsof /etc/passwd #查看passwd这个文件正被哪些进程打开
  2.  
  3. lsof /dev/sda3 #我的/home在sda3,查看谁正在往虚拟主机的目录里读写数据
  4.  
  5. lsof -t /dev/sda3 #只显示 PID
  6.  
  7. lsof -c bash #查看谁都在使用bash
  8.  
  9. lsof -u root #查看root用户都打开了哪些文件
  10.  
  11. lsof +p 12345 #查看PID 12345都打开了哪些文件
  12.  
  13. lsof +D /path #查看某个路径下所有文件(哪些文件被哪些进程所打开)
  14.  
  15. lsof -iUPD #查看本机所有UDP连接状况

linux的lsof命令

还不知道linux有个命令叫lsof
查看80端口运行的程序

  1. root@debian:~# lsof -i :80
  2. COMMAND   PID     USER   FD   TYPE DEVICE SIZE NODE NAME
  3. apache2 18978     root    3u  IPv6 232943       TCP *:www (LISTEN)
  4. apache2 18983 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  5. apache2 18984 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  6. apache2 18985 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  7. apache2 18986 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  8. apache2 18987 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  9. apache2 24765 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  10. apache2 24766 www-data    3u  IPv6 232943       TCP *:www (LISTEN)
  11. apache2 24767 www-data    3u  IPv6 232943       TCP *:www (LISTEN)

查看25端口运行的程序
Read more »

1 1