在我的服务器计算机上,我有一个响应端口9876
的应用程序。
我已使用kill
关闭了应用程序。
如果我netstat | grep 9876
,则不显示任何流程。
但是,我仍然可以通过端口POST
向服务器计算机(来自Postman和Chrome)请求GET
和9876
。
这怎么可能?
答案 0 :(得分:1)
只是netstat
没有向您显示侦听套接字/进程
问题sudo netstat -lp | grep 9876
,正如Payalord所提到的,如果您不sudo
,您只会列出您的用户控制的套接字。最后一列将是PID/Program name
,它将帮助您找出谁将此套接字保持打开状态。
man 页面是您的朋友:
-p, --program
Show the PID and name of the program to which each socket belongs.
-l, --listening
Show only listening sockets. (These are omitted by default.)
至于避免应用程序产生子流程,你需要对此进行调查,因为这里没有足够的信息来了解它发生的原因以及如何避免它。
答案 1 :(得分:0)
确保您在正确的用户上运行命令,通常最好在root用户上运行命令。
也许最好像这样运行netstat:netstat -tulpn | grep :9876
希望这有助于澄清问题。