Mac查看端口占用情況


Mac下使用lsof(list open files)來查看端口占用情況,lsof 是一個列出當前系統打開文件的工具。

使用 lsof 會列舉所有占用的端口列表:

$ lsof

使用less可以用於分頁展示,如:

$ lsof | less

 

也可以使用 -i 查看某個端口是否被占用,如:

$ lsof -i:3000

如果端口被占用,則會返回相關信息,如果沒被占用,則不返回任何信息。

 

 

lsof語法格式是: 

lsof [options] filename

常用的參數列表: 

lsof filename 顯示打開指定文件的所有進程
lsof -a 表示兩個參數都必須滿足時才顯示結果
lsof -c string   顯示command列中包含指定字符的進程所有打開的文件
lsof -u username 顯示所屬user進程打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /dir/ 顯示目錄下被進程打開的文件
lsof +d /dir/ 同上,但是會搜索目錄下的所有目錄,時間相對較長
lsof -d fd 顯示指定文件描述符的進程
lsof -n 不將ip轉換為hostname,缺省是不加上-n參數
lsof -i 用以顯示符合條件的進程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
           46 --> ipv4 or ipv6
           protocol --> tcp or udp
           hostname --> internet host name
           hostaddr --> ipv4地址
           service --> /etc/service中的 service name (可以不只一個)
           port --> 端口號 (可以不只一個)

 

 

查看所屬root用戶進程所打開的文件類型為txt的文件: 

$ lsof -a -u root -d txt

 

 

lsof其他的用途:

一、查找誰在使用文件系統
在卸載文件系統時,如果該文件系統中有任何打開的文件,操作通常將會失敗。那么通過lsof可以找出那些進程在使用當前要卸載的文件系統,如下: 
# lsof /gtes11/

 

二、恢復刪除的文件
當linux計算機受到入侵時,常見的情況是日志文件被刪除,以掩蓋攻擊者的蹤跡。管理錯誤也可能導致意外刪除重要的文件,比如在清理舊日志時,意外地刪除了數據庫的活動事務日志。有時可以通過lsof來恢復這些文件。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM