杀死端口上运行的每个进程是否安全?

杀死端口上运行的每个进程是否安全?

这是我的问题。我使用 Nodemon 在 Debian 服务器上运行 Node.JS API(因为我目前正在我的服务器上编程),并且该 API 位于使用反向代理的 Apache 虚拟主机上。

我使用 nodemon 是因为我对代码所做的每个更改都会重新启动我的 node.js 应用程序,但有时它会失败,并且会出现一个错误,提示该端口上已经有一个软件正在运行(我的端口是 7000),所以我停止 nodemon 并终止该进程。

$ sudo lsof -n -i :7000 | grep node
node    70690     root   43u  IPv6 112373950      0t0  TCP *:afs3-fileserver (LISTEN)

$ sudo kill 9 70690

首先,我使用lsof来查找在端口 7000 上运行的 PID,然后使用 kill 来终止该 PID。但如果我不使用grepalong with,lsof它会给我提供在该端口上运行的多个 PID。

 $ sudo lsof -n -i :7000 
COMMAND   PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
apache2 69823 www-data   21u  IPv4 112364929      0t0  TCP 127.0.0.1:55210->127.0.0.1:afs3-fileserver (CLOSE_WAIT)
apache2 69825 www-data   21u  IPv4 112364926      0t0  TCP 127.0.0.1:55208->127.0.0.1:afs3-fileserver (CLOSE_WAIT)
apache2 70051 www-data   21u  IPv4 112365069      0t0  TCP 127.0.0.1:55232->127.0.0.1:afs3-fileserver (CLOSE_WAIT)
node    70690     root   43u  IPv6 112373950      0t0  TCP *:afs3-fileserver (LISTEN)

我想使用$ sudo lsof -ti :7000来获取 PID 列表,然后使用它来xargs终止所有进程。但我不知道这是否会导致问题,因为根据最新命令,其中一些进程来自 apache2。

相关内容