MAC系統下使用lsof命令查看端口占用情況
1 $ lsof
可以使用如下命令實現分頁
1 $ lsof | less
使用如下命令查看特定端口
1 $ lsof -i:8080
如果端口被占用,則會返回相關信息,如果沒被占用,則不返回任何信息。
以上命令會返回占用端口的進程PID,可以用kill命令殺死進程
1 $ kill PID
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的文件:
1 $ lsof -a -u root -d txt
參考地址:http://www.cnblogs.com/ayseeing/p/4097686.html
參考地址:https://blog.csdn.net/ch717828/article/details/46663595
