我在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来查找哪个进程已知哪个套接字。 最终,这两种不同的方法可能以不同的结果结束。
如果没有进程分配给套接字,则有两个选项:
例如,通过NFS挂载一个共享会产生类似的“监听”端口。 所以这些端口将通过挂载NFS共享而重新出现,并在卸载NFS共享后消失。