在不知道名称的情况下终止监听端口 X 的进程

在不知道名称的情况下终止监听端口 X 的进程

我想终止正在监听端口 5000 的进程。我不知道该怎么做,因为当我输入: netstat -nlp | grep 5000

我有: udp6 0 0 :::5000 :::* -

所以我不知道进程的名称。在这种情况下该如何处理。

问题针对:1. CentOS 2. Ubuntu

答案1

如果您看到的-(process ID)/(process name),那是因为您的用户没有权限查看正在监听该端口的进程。

您需要做的就是以 root 身份再次运行该命令 ( sudo netstat -nlp | grep 5000)。

普通用户示例:

deltik@node51 [~]$ netstat -plant | grep '0.0.0.0:22'
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               

以 root 用户为例:

deltik@node51 [~]$ sudo netstat -plant | grep '0.0.0.0:22'
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      14903/sshd

sshd请注意,我现在可以看到PID 为1 的进程14903正在监听 TCP 端口 22。

相关内容