管理服務程序的時候,可能會查詢某個端口當前被哪個進程佔用。不僅能找出有問題的進程將其處理掉,也可以用來輔助檢查某個程序是否開啓了服務並在監聽端口。

Windows 系統

Windows 系統上可以使用 PowerShell 命令來查詢佔用某個端口的程序。

比如,我們需要查詢 5000 端口被佔用的進程是誰,可以在 PowerShell 中輸入命令:

Get-Process -Id (Get-NetTCPConnection -LocalPort 5000).OwningProcess

Linux 系統

在終端中輸入命令 lsof 可以查詢佔用某個端口的進程。

lsof -i:端口號

比如,我們需要查詢 5000 端口被佔用的進程是誰,可以在中斷中輸入命令:

walterlv@localhost:~# lsof -i:5000
COMMAND        PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dotnet_serve   731 root    3u  IPv6  12890      0t0  TCP *:5000

或者使用 netstat 查詢。

netstat -tunpl | grep 端口號

舉例:

walterlv@localhost:~# netstat -tunpl | grep 35412
tcp6   0   0 :::5000     :::*             731/dotnet_serve

相關文章