s11.1 lsof:查看进程打开的文件
生活随笔
收集整理的這篇文章主要介紹了
s11.1 lsof:查看进程打开的文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
功能說明
lsof 全名為list open files,也就是列舉系統(tǒng)中已經(jīng)被打開的文件,通過lsof命令,就可以根據(jù)文件找到對應(yīng)的進程信息,也可以根據(jù)進程信息找到進程打開的文件。【語法格式】
lsof?? ?[option] lsof?? ?[選項] 參數(shù)選項 ?? ??? ?解釋說明 -c<進程名> ?? ?顯示指定的進程名所打開的文件 -p<進程號>? ? ?顯示指定的進程號所打開的文件 -i?? ??? ??? ?通過監(jiān)聽指定的協(xié)議、端-和主機等信息,顯示符合條件的進程信息 -u?? ??? ??? ?顯示指定用戶使用的文件 -U?? ??? ??? ?顯示所有socket文件范例11-1:顯示使用文件的進程。
[root@lewen ~]# lsof /var/log/messages COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME abrt-watc 8718 root 4r REG 253,0 404668 522404 /var/log/messages rsyslogd 10046 root 6w REG 253,0 404668 522404 /var/log/messages如果想知道某個特定的文件是由哪個進程在使用,就可以通過“l(fā)sof文件名”的方式 來得到。從上面的輸出可以得知,/var/log/messages文件是由rsyslogd進程在使用。 輸出中每列的含義具體如下。 -COMMAND:命令,進程的名稱。 -PID:進程號。 -USER:進程的所有者。 -FD:文件描述符,它又包含如下內(nèi)容。0:表示標準輸出。1:表示標準輸入。2:表示標準錯誤。u:表示該文件被打開并處于讀取/寫人模式。r:表示該文件被打開并處于只讀模式。w:表示該文件被打開并處于寫人模式。 -TYPE:文件類型,REG(regular)為普通文件。 -DEVICE:指定磁盤的名稱。 -SIZE/OFF:文件的大小。 -NODE:索引節(jié)點。 -NAME:文件名稱。范例11-2:顯示指定進程所打開的文件。
[root@lewen ~]# lsof -c rsyslog COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 10046 root cwd DIR 253,0 224 64 / rsyslogd 10046 root rtd DIR 253,0 224 64 / rsyslogd 10046 root txt REG 253,0 664080 522402 /usr/sbin/rsyslogd ...范例11-3:顯示指定進程號所打開的文件。
[root@lewen ~]# lsof -p 10046 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd 10046 root cwd DIR 253,0 224 64 / rsyslogd 10046 root rtd DIR 253,0 224 64 / rsyslogd 10046 root txt REG 253,0 664080 522402 /usr/sbin/rsyslogd ...范例11-4:監(jiān)聽指定的協(xié)議、端口和主機等信息,顯示符合條件的進程信息。
在講解范例之前,我們先來看看相應(yīng)的語法格式: lsof -i [46] [protocol][@8hostname][:service|port] 其中各項的含義如下。- 46:4代表IPv4,6代表IPv6。
- protocol:傳輸協(xié)議,可以是TCP或UDP。
- hostname:主機名稱或者IP地址。
- service:進程的服務(wù)名,例如NFS、SSH和FTP等。
- port:系統(tǒng)中與服務(wù)對應(yīng)的端口號。例如HTTP服務(wù)默認對應(yīng)的端口號為80,SS日服務(wù)默認對應(yīng)的端口號為22。了解了語法格式之后,再來看看范例的解答。
范例11-5:顯示指定用戶使用的文件。
[lewen@k8s-node1 ~]$ lsof -u lewen COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 11081 lewen cwd DIR 253,0 62 33997200 /home/lewen bash 11081 lewen rtd DIR 253,0 224 64 / bash 11081 lewen txt REG 253,0 964608 50333656 /usr/bin/bash bash 11081 lewen mem REG 253,0 61624 34664 /usr/lib64/libnss_files-2.17.so bash 11081 lewen mem REG 253,0 106075056 50334298 /usr/lib/locale/locale-archive bash 11081 lewen mem REG 253,0 2151672 34646 /usr/lib64/libc-2.17.so bash 11081 lewen mem REG 253,0 19288 34652 /usr/lib64/libdl-2.17.so范例11-6:顯示所有socket文件。
[root@k8s-node1 ~]# lsof -U COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 12u unix 0xffff964f7656e800 0t0 25117 /run/systemd/private systemd 1 root 22u unix 0xffff964f7656fc00 0t0 25169 /run/lvm/lvmpolld.socket systemd 1 root 23u unix 0xffff9650714f8400 0t0 8992 /run/systemd/notify systemd 1 root 24u unix 0xffff9650714f8000 0t0 8994 /run/systemd/cgroups-agent總結(jié)
以上是生活随笔為你收集整理的s11.1 lsof:查看进程打开的文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s5-2 Cpu调度算法
- 下一篇: s11.9 sar:收集系统信息