![如何查找(并终止)在某个端口上运行的进程?](https://linux22.com/image/1286189/%E5%A6%82%E4%BD%95%E6%9F%A5%E6%89%BE%EF%BC%88%E5%B9%B6%E7%BB%88%E6%AD%A2%EF%BC%89%E5%9C%A8%E6%9F%90%E4%B8%AA%E7%AB%AF%E5%8F%A3%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%9A%84%E8%BF%9B%E7%A8%8B%EF%BC%9F.png)
答案1
您可以使用以下lsof
方法来查找进程:
lsof -t -i:4444
只会列出监听端口 4444 的进程的 pid。你也可以这样写
kill `lsof -t -i:4444`
如果你够勇敢的话。
答案2
你用lsof
:
# lsof -n | grep TCP | grep LISTEN | grep 4444
输出结果如下:
pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)
第一列是进程名称,第二列是进程 ID。然后解析输出,找出进程 ID (PID) 并使用kill
命令将其终止。
答案3
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`
使用 netstat 列出具有数字端口和父进程的监听 INET 套接字。过滤字符串 4444,取出第 7 列(pid/进程名称),然后进一步用“/”将其拆分以获取 pid。将其传递给 kill 命令。
答案4
或者,您可以使用netstat -ap
它lsof
在您的系统上不可用(因为它不在我经常使用的 busybox 系统上)。