如何通过SSH关闭使用Node.js启动的NOHUP进程

5
我开始使用nohup命令将node.js服务器在3000端口上以后台方式运行,但现在我想停止端口为3000node.js服务器,并重新以相同的端口启动。如何停止该进程?
我可以使用以下命令获取要终止的进程;
ps -a","ps -ef |grep nohup

但它返回;
-bash: kill: (11929) - No such process

thanks


1
您可以使用 pgrep 'nohup' 命令获取 PID,并使用 kill 命令。**(或者)** pgrep 'nohup' | xargs kill (或者) pkill nohup - sat
如果我是你,我会使用类似于“tmux”的东西。 - mshindal
1个回答

17

最终我找到了一个解决方案,可以杀掉在nohup进程下运行的Node服务器。

通过以下链接提供的方法在后台启动服务器:https://dev59.com/r2865IYBdhLWcg3wCqBA#4018223

获取进程id:https://dev59.com/7WYq5IYBdhLWcg3w2EBi#14152730

终止进程:https://dev59.com/02sz5IYBdhLWcg3wR1oc#8007409

1.使用以下方式获取node进程id:

ps -ef | grep "node"
//9500 pts/0  00:00:00 .node.bin

2.通过以下方式结束进程:

kill 9500
//you can use the PID to kill if not use kill -9 pid

用于高级使用的forever


谢谢,但我通过“nohup forever server.js”运行了节点,当我运行您的命令查看进程时,它会告诉pid号码,但无法杀死它,因为它始终在增加!请帮帮我。 - user3304007
使用此命令 "kill -9 pid"。 - Saravanan Rajaraman
但是pid始终在增加! - user3304007
如果是Linux系统,我们可以使用lsof -i命令来列出正在运行的端口。 - Saravanan Rajaraman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接