lsof命令是一个列出当前系统打开文件的工具。
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 8,1 4096 2 / init 1 root rtd DIR 8,1 4096 2 / init 1 root txt REG 8,1 265848 786591 /sbin/init init 1 root mem REG 8,1 47712 266561 /lib/x86_64-linux-gnu/libnss_files-2.19.so init 1 root mem REG 8,1 47760 266571 /lib/x86_64-linux-gnu/libnss_nis-2.19.so init 1 root mem REG 8,1 97296 266555 /lib/x86_64-linux-gnu/libnsl-2.19.so init 1 root mem REG 8,1 39824 266557 /lib/x86_64-linux-gnu/libnss_compat-2.19.so init 1 root mem REG 8,1 14664 266503 /lib/x86_64-linux-gnu/libdl-2.19.so init 1 root mem REG 8,1 252032 266589 /lib/x86_64-linux-gnu/libpcre.so.3.13.1 init 1 root mem REG 8,1 141574 266606 /lib/x86_64-linux-gnu/libpthread-2.19.so init 1 root mem REG 8,1 1845024 266486 /lib/x86_64-linux-gnu/libc-2.19.so init 1 root mem REG 8,1 31792 266614 /lib/x86_64-linux-gnu/librt-2.19.so init 1 root mem REG 8,1 39328 266526 /lib/x86_64-linux-gnu/libjson-c.so.2.0.0 init 1 root mem REG 8,1 134296 266616 /lib/x86_64-linux-gnu/libselinux.so.1 init 1 root mem REG 8,1 281552 266500 /lib/x86_64-linux-gnu/libdbus-1.so.3.7.6 init 1 root mem REG 8,1 38920 266548 /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0 init 1 root mem REG 8,1 96280 266550 /lib/x86_64-linux-gnu/libnih.so.1.0.0 init 1 root mem REG 8,1 149120 266462 /lib/x86_64-linux-gnu/ld-2.19.so init 1 root 0u CHR 1,3 0t0 5294 /dev/null init 1 root 1u CHR 1,3 0t0 5294 /dev/null init 1 root 2u CHR 1,3 0t0 5294 /dev/null init 1 root 3r FIFO 0,8 0t0 7021 pipe init 1 root 4w FIFO 0,8 0t0 7021 pipe init 1 root 5r 0000 0,9 0 5249 anon_inode init 1 root 6r 0000 0,9 0 5249 anon_inode init 1 root 7u unix 0xffff880036c4a700 0t0 7022 @/com/ubuntu/upstart init 1 root 9u unix 0xffff8800d7115500 0t0 7879 socket init 1 root 10u unix 0xffff8800d894ae00 0t0 7357 @/com/ubuntu/upstart init 1 root 11u unix 0xffff8800d736dc00 0t0 8042 @/com/ubuntu/upstart init 1 root 12u unix 0xffff8800d7115180 0t0 7803 @/com/ubuntu/upstart
cwd值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。
txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。
数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。u表示该文件被打开并处于读取/写入模式,而不是只读r或只写w模式。、
同时还有大写的W表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。
初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。
REG 和 DIR分别表示文件和目录;CHR 和 BLK,分别表示字符和块设备; UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。
root@linux_ever:~# lsof /dev/ptmx COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root 17u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 20u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 22u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 23u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 25u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 26u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 33u CHR 5,2 0t0 6303 /dev/ptmx init 1 root 34u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 14u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 16u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 21u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 24u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 27u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 28u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 31u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 32u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 33u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 36u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 37u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 38u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 39u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 40u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 41u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 42u CHR 5,2 0t0 6303 /dev/ptmx init 1842 root 43u CHR 5,2 0t0 6303 /dev/ptmx gnome-ter 2751 root 14u CHR 5,2 0t0 6303 /dev/ptmx sshd 20723 root 8u CHR 5,2 0t0 6303 /dev/ptmx sshd 20723 root 10u CHR 5,2 0t0 6303 /dev/ptmx sshd 20723 root 11u CHR 5,2 0t0 6303 /dev/ptmx sshd 21617 root 8u CHR 5,2 0t0 6303 /dev/ptmx sshd 21617 root 10u CHR 5,2 0t0 6303 /dev/ptmx sshd 21617 root 11u CHR 5,2 0t0 6303 /dev/ptmx sshd 21858 root 8u CHR 5,2 0t0 6303 /dev/ptmx sshd 21858 root 10u CHR 5,2 0t0 6303 /dev/ptmx sshd 21858 root 11u CHR 5,2 0t0 6303 /dev/ptmx
root@linux_ever:~# lsof -c sshd COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 813 root cwd DIR 8,1 4096 2 / sshd 813 root rtd DIR 8,1 4096 2 / sshd 813 root txt REG 8,1 766784 409713 /usr/sbin/sshd sshd 813 root mem REG 8,1 47712 266561 /lib/x86_64-linux-gnu/libnss_files-2.19.so sshd 813 root mem REG 8,1 47760 266571 /lib/x86_64-linux-gnu/libnss_nis-2.19.so sshd 813 root mem REG 8,1 39824 266557 /lib/x86_64-linux-gnu/libnss_compat-2.19.so sshd 813 root mem REG 8,1 101240 266612 /lib/x86_64-linux-gnu/libresolv-2.19.so sshd 813 root mem REG 8,1 14256 266529 /lib/x86_64-linux-gnu/libkeyutils.so.1.4 sshd 813 root mem REG 8,1 43672 532257 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1 sshd 813 root mem REG 8,1 186824 532251 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1 sshd 813 root mem REG 8,1 31792 266614 /lib/x86_64-linux-gnu/librt-2.19.so sshd 813 root mem REG 8,1 141574 266606 /lib/x86_64-linux-gnu/libpthread-2.19.so sshd 813 root mem REG 8,1 252032 266589 /lib/x86_64-linux-gnu/libpcre.so.3.13.1 sshd 813 root mem REG 8,1 14664 266503 /lib/x86_64-linux-gnu/libdl-2.19.so sshd 813 root mem REG 8,1 104936 266476 /lib/x86_64-linux-gnu/libaudit.so.1.0.0 sshd 813 root mem REG 8,1 97296 266555 /lib/x86_64-linux-gnu/libnsl-2.19.so sshd 813 root mem REG 8,1 1845024 266486 /lib/x86_64-linux-gnu/libc-2.19.so
root@linux_ever:~# lsof -p 813 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 813 root cwd DIR 8,1 4096 2 / sshd 813 root rtd DIR 8,1 4096 2 / sshd 813 root txt REG 8,1 766784 409713 /usr/sbin/sshd sshd 813 root mem REG 8,1 47712 266561 /lib/x86_64-linux-gnu/libnss_files-2.19.so sshd 813 root mem REG 8,1 47760 266571 /lib/x86_64-linux-gnu/libnss_nis-2.19.so sshd 813 root mem REG 8,1 39824 266557 /lib/x86_64-linux-gnu/libnss_compat-2.19.so sshd 813 root mem REG 8,1 101240 266612 /lib/x86_64-linux-gnu/libresolv-2.19.so sshd 813 root mem REG 8,1 14256 266529 /lib/x86_64-linux-gnu/libkeyutils.so.1.4 sshd 813 root mem REG 8,1 43672 532257 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1 sshd 813 root mem REG 8,1 186824 532251 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1 sshd 813 root mem REG 8,1 31792 266614 /lib/x86_64-linux-gnu/librt-2.19.so sshd 813 root mem REG 8,1 141574 266606 /lib/x86_64-linux-gnu/libpthread-2.19.so sshd 813 root mem REG 8,1 252032 266589 /lib/x86_64-linux-gnu/libpcre.so.3.13.1 sshd 813 root mem REG 8,1 14664 266503 /lib/x86_64-linux-gnu/libdl-2.19.so sshd 813 root mem REG 8,1 104936 266476 /lib/x86_64-linux-gnu/libaudit.so.1.0.0 sshd 813 root mem REG 8,1 97296 266555 /lib/x86_64-linux-gnu/libnsl-2.19.so sshd 813 root mem REG 8,1 1845024 266486 /lib/x86_64-linux-gnu/libc-2.19.so列出了部分结果。
root@linux_ever:~# lsof +d /root/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1842 root cwd DIR 8,1 4096 1048579 /root init 1842 root 2w REG 8,1 546 1050044 /root/.xsession-errors VBoxClien 1926 root 4uW REG 8,1 5 1076068 /root/.vboxclient-clipboard.pid VBoxClien 1937 root 4uW REG 8,1 5 1076123 /root/.vboxclient-display.pid VBoxClien 1941 root 4uW REG 8,1 5 1076124 /root/.vboxclient-seamless.pid VBoxClien 1949 root 4uW REG 8,1 5 1076125 /root/.vboxclient-draganddrop.pid upstart-e 1984 root cwd DIR 8,1 4096 1048579 /root window-st 1993 root cwd DIR 8,1 4096 1048579 /root upstart-f 2003 root cwd DIR 8,1 4096 1048579 /root列出了部分结果。
root@linux_ever:~# lsof +D /root/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1842 root cwd DIR 8,1 4096 1048579 /root init 1842 root 2w REG 8,1 546 1050044 /root/.xsession-errors init 1842 root 12w REG 8,1 1001 1051098 /root/.cache/upstart/dbus.log init 1842 root 13w REG 8,1 27348 1068051 /root/.cache/upstart/gnome-session-Unity.log init 1842 root 18w REG 8,1 3597 1077157 /root/.cache/upstart/unity-panel-service.log init 1842 root 19w REG 8,1 106 1077132 /root/.cache/upstart/unity-settings-daemon.log init 1842 root 25w REG 8,1 125 1076111 /root/.cache/upstart/indicator-printers.log VBoxClien 1926 root 4uW REG 8,1 5 1076068 /root/.vboxclient-clipboard.pid VBoxClien 1937 root 4uW REG 8,1 5 1076123 /root/.vboxclient-display.pid VBoxClien 1941 root 4uW REG 8,1 5 1076124 /root/.vboxclient-seamless.pid VBoxClien 1949 root 4uW REG 8,1 5 1076125 /root/.vboxclient-draganddrop.pid列出了部分结果。
root@linux_ever:~# lsof -d 5 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root 5r 0000 0,9 0 5249 anon_inode upstart-u 268 root 5w FIFO 0,8 0t0 7347 pipe systemd-u 283 root 5u REG 0,16 8 242959 /run/udev/queue.bin dbus-daem 408 messagebus 5r 0000 0,9 0 5249 anon_inode bluetooth 452 root 5u unix 0xffff8800d72d8000 0t0 8015 socket systemd-l 491 root 5r REG 0,15 4096 2813 /sys/devices/virtual/tty/tty0/active avahi-dae 507 avahi 5u unix 0xffff8800d736ca80 0t0 8074 socket ModemMana 558 root 5u unix 0xffff8800d7200380 0t0 8289 socket upstart-f 597 root 5w FIFO 0,8 0t0 7795 pipe列出了部分结果。