使用sudo lsof -np -itcp -stcp:listen檢視占用埠的程式;因為 lsof 需要訪問核心記憶體和各種檔案,所以必須以 root 使用者的身份執行它才能夠充分地發揮其功能
檔案控制代碼是windows系統的概念,在linux下稱之為檔案描述符fd(file description)
sort -nr 安裝數字逆序排列 -n number -r reverse
uniq -c 統計相同項的數量,分兩列顯示,左列顯示數量,右列顯示內容 -c count
1)統計各程序開啟fd數:lsof -n|awk ''|sort|uniq -c|sort -nr
2)統計各使用者開啟fd數:lsof -n|awk ''|sort|uniq -c|sort -nr
3)統計各命令開啟fd數:lsof -n|awk ''|sort|uniq -c|sort -nr
ulimit -n
ulimit -a
man lsof
可以檢視fd/type等各個欄位的含義
1)cwd:表示 current work dirctory,即:應用程式的當前工作目錄,這是該應用程式啟動的目錄,除非它本身對這個目錄進行更改
2)txt:該型別的檔案是程式**,如應用程式二進位制檔案本身或共享庫,如上列表中顯示的 /sbin/init 程式
3)lnn: library references (aix)
4)er: fd information error (see name column)
5)jld: jail directory(freebsd)
6)ltx: shared library text(code and data)
11)pd: parent directory
12)rtd: root directory
13)tr: kernel trace file (openbsd)
15)0:表示標準輸出
16)1:表示標準輸入
17)2:表示標準錯誤
一般在標準輸出、標準錯誤、標準輸入後還跟著檔案狀態模式:r/w/u 等
1)u:表示該檔案被開啟並處於讀取/寫入模式
2)r:表示該檔案被開啟並處於唯讀模式
3)w:表示該檔案被開啟並處於只寫入模式
4)空格:表示該檔案的狀態模式為 unknown ,且沒有鎖定
5)- : 表示該檔案的狀態模式為 unknown ,且被鎖定
同時在檔案狀態模式後面,還跟著相關的鎖
1)n:for a solaris nfs lock of unknown type
2)r: for a read lock on part of the file
3)r:for a read lock on the entire file
4)w: for a write lock on part of the file (檔案的部分寫鎖)
5)w: for a write lock on the entire file(整個檔案的寫鎖)
6)u: for a read and write lock of any length
7)u: for a lock of unknown type
8)x: for an sco openserver xenix lock on part of the file
9)x:for an sco opentserver xenix lock on the entire file
10)space : if there is no lock
檔案描述符 fd
1 首先說什麼是檔案描述符,它有什麼作用?檔案描述符是乙個簡單的整數,用以標明每乙個被程序所開啟的檔案和socket。第乙個開啟的檔案是0,第二個是1,依此類推。unix 作業系統通常給每個程序能開啟的檔案數量強加乙個限制。更甚的是,unix 通常有乙個系統級的限制。因為squid 的工作方式,檔案...
檔案控制代碼 檔案描述符
檔案控制代碼和檔案描述符 在我們跨平台開發的時候,經常會碰到這倆個概念 檔案描述符 本質上是乙個索引號 非負整數 系統使用者層可以根據它找到系統核心層的檔案資料。這是乙個posix標準下的概念,常見於linux系統。但windows也有檔案描述符這個概念,但不常用。檔案控制代碼 windows下的概...
檔案控制代碼 檔案描述符
由於程序級檔案描述符表的存在,不同的程序中會出現相同的檔案描述符,它們可能指向同乙個檔案,也可能指向不同的檔案。兩個不同的檔案描述符,若指向同乙個開啟檔案控制代碼 file 將共享同一檔案偏移量。因此,如果通過其中乙個檔案描述符來修改檔案偏移量,那麼從另乙個檔案描述符中也會觀察到變化,無論這兩個檔案...