closuresTCP端口没有进程

我在TCP端口处于侦听模式下,没有分配进程。

有没有办法closures这个端口,而不重新启动服务器?

检查端口状态:

me> netstat -tan | grep 8888 tcp 0 0 :::8888 :::* LISTEN 

寻找负责的stream程:

 me> lsof -i -P | grep 8888 

以上命令不返回

试试netstat -ltpn | grep 8888 netstat -ltpn | grep 8888

运行一个

 fuser 8888/tcp 

那应该列出在港口上运行的pids。

你正在描述一个不可能的场景。

我相信以前的海报错过了一个事实,那就是你正试图将一个端口映射到一个你并不拥有的进程。 因此,你的lsof没有任何返回,因为这些工具没有权限查看/proc条目,这将有利于端口 – > PID映射。 你的netstat命令也缺less-p标志。 以root身份运行这些命令,事情会变得更清晰。

netstatparsing/ proc / net / [tcp | udp | tcp6 | udp6],然后扫描/ proc / $ pid / -areafind匹配的进程,而fuser和lsof做“only”遍历整个/ proc / $ pid / -area来查找哪个进程已知哪个套接字。 最终,这两种不同的方法可能以不同的结果结束。

如果没有进程分配给套接字,则有两个选项:

  • 你正在使用lsof / fuser,并没有进程分配这个套接字,但是例如一个内核模块正在这样做。 你需要find这个模块。
  • 你正在以不能访问/ proc / $ pid / fd /的用户身份运行netstat。

例如,通过NFS挂载一个共享会产生类似的“监听”端口。 所以这些端口将通过挂载NFS共享而重新出现,并在卸载NFS共享后消失。