lsof


lsof的功能非常简单,就是"list open files"。而"Everything is a file"作为Linux中的设计哲学,lsof实际是一个非常使用的工具,但是却没有得到足够的重视。

这里重点介绍lsof与网络相关的功能。

# lsof -i :22            // 查看使用22端口的流
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     1629 root    3u  IPv4  13180      0t0  TCP *:ssh (LISTEN)
sshd     1629 root    4u  IPv6  13189      0t0  TCP *:ssh (LISTEN)
sshd    17645 root    3r  IPv4 136800      0t0  TCP localhost:ssh->localhost:63775 (ESTABLISHED)
sshd    19771 root    3r  IPv4 142542      0t0  TCP localhost:ssh->localhost:52520 (ESTABLISHED)

# lsof -i @127.0.0.1     // 查看指定IP地址相关的流
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpc.statd 1429 rpcuser    5u  IPv4  12321      0t0  UDP localhost:757
cupsd     1470    root    7u  IPv4  12536      0t0  TCP localhost:ipp (LISTEN)
master    1721    root   12u  IPv4  13447      0t0  TCP localhost:smtp (LISTEN)

# lsof -p `pidof httpd|tr ' ' ','`         // 查看httpd服务打开的文件
# lsof -p `pidof httpd|tr ' ' ','` |wc -l  // 统计httpd服务打开的文件数

results matching ""

    No results matching ""