# lsof -p 2064
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
firefox 2064 jian cwd DIR 8,6 4096 1571780 /home/jian
firefox 2064 jian rtd DIR 8,6 4096 2 /
firefox 2064 jian txt REG 8,6 44224 1985670 /usr/lib/firefox-12.0/firefox
firefox 2064 jian mem REG 8,6 14707012 925361 /usr/share/fonts/chinese/msyhbd.ttf
firefox 2064 jian mem REG 8,6 15067744 925362 /usr/share/fonts/chinese/msyh.ttf
firefox 2064 jian mem REG 8,6 16791251 1701681 /usr/share/fonts/wenquanyi/wqy-zenhei.ttc
firefox 2064 jian mem REG 0,16 67108904 10203 /dev/shm/pulse-shm-3021850167
...
当你想要杀掉某个用户所有打开的文件、设备,你可以这样:
kill -9 `lsof -t -u lakshmanan`
此处 -t 的作用是单独的列出 进程 id 这一列。
2.4 监控网络
查看指定端口有哪些进程在使用(lsof -i 列出所有的打开的网络连接):
# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1569 root 3u IPv4 10303 0t0 TCP *:ssh (LISTEN)
sshd 1569 root 4u IPv6 10305 0t0 TCP *:ssh (LISTEN)
...
列出被某个进程打开所有的网络文件:
lsof -i -a -p 234
或者
lsof -i -a -c ssh
列出所有 tcp、udp 连接:
lsof -i tcp;
lsof -i udp;
列出所有 NFS 文件:
lsof -N -u lakshmanan -a
查看指定网口有哪些进程在使用:
# lsof -i@192.168.1.91
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
skype 1909 jian 54u IPv4 9116 0t0 TCP 192.168.1.91:40640->64.4.23.153:40047 (ESTABLISHED)
pidgin 1973 jian 7u IPv4 6599 0t0 TCP 192.168.1.91:59311->hx-in-f125.1e100.net:https (ESTABLISHED)
pidgin 1973 jian 13u IPv4 9260 0t0 TCP 192.168.1.91:54447->by2msg3010511.phx.gbl:msnp (ESTABLISHED)
...