一般檢視一台伺服器,為了檢視一台機器上運作的端口及監聽的服務,常會用到netstat -luntp這個指令。
但是不是每一個運作的程序都能有pid顯示,今天就遇到如下情況:
1、通過netstat 中加入一個e得參數檢視,啟動對應端口的使用者。
netstat -letnp|grep 2049
tcp 0 0 0.0.0.0:2049 0.0.0.0:* listen 0 109911170 -
tcp6 0 0 :::2049 :::* listen 0 109911174 -
2、通過lsof -i:port 檢視出,占用端口中啟動的程式。
root@iz239fkpuw4z:~# lsof -i:2049
root@iz239fkpuw4z:~#
3、另一種可能是,這是一個核心線程,這沒有 pid,因為它運作在核心。
# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 45890 status
100024 1 tcp 39339 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 59559 nlockmgr
100021 3 udp 59559 nlockmgr
100021 4 udp 59559 nlockmgr
100021 1 tcp 56671 nlockmgr
100021 3 tcp 56671 nlockmgr
100021 4 tcp 56671 nlockmgr
100005 1 udp 39406 mountd
100005 1 tcp 38170 mountd
100005 2 udp 55870 mountd
100005 2 tcp 43332 mountd
100005 3 udp 55118 mountd
100005 3 tcp 56334 mountd