Linux 中lsof 命令的使用

2021-09-17 02:19:03 字數 3040 閱讀 5910

使用hexo時,本機以4000埠啟動server:

sh-3.2# hexo server

info hexo is running at press ctrl+c to stop.

此時,4000埠被hexo占用,如果想檢視4000埠的占用情況,使用:

sh-3.2# lsof -i:4000

command pid user fd type device size/off node name

qq 1942 tongkun 14u ipv4 0x1d28bfd60907da57 0t0 udp *:terabase

node 2476 root 12u ipv4 0x1d28bfd61b65bd9f 0t0 tcp *:terabase (listen)

可以看出4000埠正在node(程序的名稱)程式,pid2476是它的程序號,如果想殺死程序,執行:

sh-3.2# kill -9 2476
lsof(list open file)是乙個列出當前系統開啟檔案的工具,在linux/unix系統中,任何事物都是以檔案的形式存在,通過檔案不僅可以訪問常規資料,還可以訪問網路連線和硬體。所以如果傳輸控制協議(tcp)和使用者資料報協議(udp)套接字等,系統在後台都為該應用分配乙個檔案描述符,無論這個檔案的本質如何,該檔案描述符為應用程式與基礎作業系統之間提供了通用的介面。

lsof 輸出資訊含義,ps:

sh-3.2# lsof -i :80

vmnet-nat 2317 root 31u ipv4 0x1d28bfd61b5e7d9f 0t0 tcp 192.168.0.22:60963->123.126.51.33:http (close_wait)

說明

每行開啟乙個檔案,如果不指定條件,將顯示所有程序開啟的檔案。lsop輸出各列資訊如下:

其中fd 列中的檔案描述符cwd值表示應用程式的當前工作目錄,這是該應用程式啟動的目錄,除非它本身對這個目錄進行更改,txt型別的檔案是程式**,如應用程式二進位制檔案本身或共享庫,如上列表中顯示的 /sbin/init 程式。其次數值表示應用程式的檔案描述符,就是開啟檔案時返回的乙個整數。u表示該檔案並處於開啟並讀寫模式

常用的引數列表:

檢視所屬root使用者程序所開啟的檔案型別為txt的檔案:

sh-3.2# lsof -a -u root -d txt

command pid user fd type device size/off node name

launchd 1 root txt reg 1,4 317280 15338828 /sbin/launchd

launchd 1 root txt reg 1,4 638336 15339947 /usr/lib/dyld

launchd 1 root txt reg 1,4 488952294 23197852 /private/var/db/dyld/dyld_shared_cache_x86_64

syslogd 45 root txt reg 1,4 142736 15341124 /usr/sbin/syslogd

syslogd 45 root txt reg 1,4 638336 15339947 /usr/lib/dyld

syslogd 45 root txt reg 1,4 488952294 23197852 /private/var/db/dyld/dyld_shared_cache_x86_64

userevent 46 root txt reg 1,4 35456 15340516 /usr/libexec/usereventagent

......

**lsof的用處還有很多,在這裡就不一一枚舉,未完待續。。。。

Linux中lsof的使用

常用lsof i 來檢視 埠被什麼程式正在使用 使用lsof時若提示command not found則可以通過 yum install lsof y來安裝lsof 1.列出所有開啟的檔案 lsof 備註 如果不加任何引數,就會開啟所有被開啟的檔案,建議加上一下引數來具體定位 2.檢視誰正在使用某個...

lsof 命令使用

lsof list open files 是乙個列出當前系統開啟檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。所以如傳輸控制協議 tcp 和使用者資料報協議 udp 套接字等,系統在後台都為該應用程式分配了乙個檔案描述符,無論這...

lsof命令的使用

今天發現了這個命令lsof感覺蠻有用的尤其是對伺服器管理的人來說應該更加有用.這個命令可以看程序所需要開啟的檔案.當在lsof後邊沒有跟任何引數時,該命令將會列出當前系統中被所有程序開啟的所有檔案 下邊這幾個命令指出開啟某檔案的程序 lsof which httpd 那個程序在使用apache的可執...