Node.js脚本正在运行,但它不会停止!

Kri*_*iem 9 centos node.js

我有这个test.js在CentOS 5下的Node.js中运行.它运行得很好.问题是,它不会停止!即使关闭了我的ssh客户端,它也不会停止.

如何停止正在运行的脚本?

YXD*_*YXD 16

$ pkill node
Run Code Online (Sandbox Code Playgroud)

为你工作?


Rob*_*itt 12

你运行的代码是什么,如果是nodejs.net首页提供的示例代码,那么当你的终端和服务器运行时,你可以点击CTRL+ C停止当前任务

如果您通过SSH并且您希望发出命令来停止节点进程,那么执行以下操作:

$ ps aux | grep node
USR  PID  1.5  0.2  44172  8260 pts/2    S    15:25   0:00 node app.js
$ kill -2 PID
Run Code Online (Sandbox Code Playgroud)

这只是找到节点进程的PID然后杀死它们


小智 7

有时,问题的解决方案是确保节点进程正在处理的工作已完成.这样事情很好地结束了,你没有冒险杀死不应该的东西.调试代码并按照调用堆栈查找流氓.

必须杀死节点进程表明你没有做正确的事情.

我有一段时间没有这个问题了,这个过程应该停止了,但由于某种原因它没有.插入控制台日志以找到无休止的待处理函数,并且node debug...

exports.something = require('./something')
Run Code Online (Sandbox Code Playgroud)

被混在一起.我包括检查文件是否像模块一样使用,这似乎可以解决问题.

if (require.main !== module) {
    exports.something = require('./something')
}
Run Code Online (Sandbox Code Playgroud)

该文件不再无所事事.