仍然可以执行 POST 和 GET,尽管服务器上没有 运行
Can still do POST and GET, although nothing running on server
在我的服务器计算机上,我有一个响应端口 9876
的应用程序。
我已经用 kill
关闭了应用程序。
如果我这样做 netstat | grep 9876
,则不会显示任何进程。
但是,我仍然可以在端口 9876
.[=18= 上向服务器机器(来自 Postman 和 Chrome)发出 POST
和 GET
请求]
这怎么可能?
确保您在正确的用户 运行 上执行命令,通常最好 运行 在 root 用户上执行命令。
也可能更好 运行 netstat 这样的:netstat -tulpn | grep :9876
希望这有助于澄清问题。
只是 netstat
没有显示你在听 sockets/process
发布 sudo netstat -lp | grep 9876
,正如 Payalord 所提到的,如果您不这样做 sudo
,您将只会列出由您的用户控制的套接字。最后一列将是 PID/Program name
,这将帮助您找出谁让这个套接字保持打开状态。
man pages 是你的朋友:
-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.)
至于避免应用程序产生子进程,您需要对此进行调查,因为这里没有足够的信息来了解它发生的原因以及如何避免它。
在我的服务器计算机上,我有一个响应端口 9876
的应用程序。
我已经用 kill
关闭了应用程序。
如果我这样做 netstat | grep 9876
,则不会显示任何进程。
但是,我仍然可以在端口 9876
.[=18= 上向服务器机器(来自 Postman 和 Chrome)发出 POST
和 GET
请求]
这怎么可能?
确保您在正确的用户 运行 上执行命令,通常最好 运行 在 root 用户上执行命令。
也可能更好 运行 netstat 这样的:netstat -tulpn | grep :9876
希望这有助于澄清问题。
只是 netstat
没有显示你在听 sockets/process
发布 sudo netstat -lp | grep 9876
,正如 Payalord 所提到的,如果您不这样做 sudo
,您将只会列出由您的用户控制的套接字。最后一列将是 PID/Program name
,这将帮助您找出谁让这个套接字保持打开状态。
man pages 是你的朋友:
-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.)
至于避免应用程序产生子进程,您需要对此进行调查,因为这里没有足够的信息来了解它发生的原因以及如何避免它。