如何在Mac上终止nodemon进程?

14

我在退出以前的Nodemon实例时遇到了问题。

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    98355 user   14u  IPv6 0x51b8b9857a4e56a3      0t0  TCP *:redwood-broker (LISTEN)

它占用了我的3000端口,所以我正在尝试退出它。我使用lsof -wni tcp:3000进行了搜索。

我可以看到PID为98335,所以尝试了kill 98335kill -9 98335sudo kill 98335sudo kill -9 98335等命令,但没有成功,只是显示:

kill: kill 98335 failed: no such process

但是,如果我保存了一些内容,nodemon的监视作业将会在控制台上打印出来,这意味着该进程仍然处于活动状态。

请帮帮我。


2
PID 是 98355 - 你想要终止 98335(检查数字中3和5的位置)。 - JeffRSon
5个回答

29

https://github.com/remy/nodemon/issues/1386

为了解决这个问题,{{找到占用该端口号的进程}}并将其终止:
 kill -9 $(lsof -t -i:3000)   

或者

安装1.17.5版本 npm install nodemon@1.17.5 --save-dev --save-exact


耶。这个问题是为了搜索如何在没有进程标题的情况下杀死一个节点进程而返回的。(因为进程标题无处可用...)。 - Cory Mawhorter

13
您可以使用此标签:

ps -ef | grep node

查找进程 ID

然后

sudo kill -9 <PID>

PID是进程ID。在终端中尝试以下命令以使用正则表达式列出和搜索进程:

ps gx | grep 'Symantec'

以上示例是列出所有与“Symantec”相关的进程。将“Symantec”替换为您自己的短语。接下来使用“kill”命令的变体。您可以使用以下任一方式:

kill pid

将'pid'替换为实际的进程ID。或者使用以下命令:

killall

如之前所建议的,再次重申一个有用的建议,使用

man kill

查看“kill”命令的手册,并向下滚动查看相关命令,这些命令在下面提到。


这个回答应该被踩到负数,因为回答者显然没有意识到nodemon是在实例被杀死后重新启动的。一个泛泛而谈的“kill是什么”回答并不适用。 - TiggerToo

2

使用-9选项杀死所有正在运行的节点进程

sudo pkill -f node -9

1
sudo kill -9 PID 

这将强制终止您的进程


@BarakShirali,你是怎么开始这个过程的?在终端上吗?如果是的话,按下ctrl+c,它就会停止。 - ManishKumar
1
很不幸,Ctrl+C并未完全退出它。如果我保存一个文件,nodemon实例会重新启动 - Barak Shirali

-1

你杀错进程ID了,它是98355而不是98335


PID 取决于您的环境。每个进程都有自己的 ID。这些数字仅在进程运行时有效,而且即使在同一台机器上重新运行相同的内容,也可能每次具有不同的 PID。在此处了解更多信息:https://en.wikipedia.org/wiki/Process_identifier - Lukas Liesis

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