如何杀死node.js上的开放进程?

我试图build立一个构build系统的Node.js崇高,所以我可以按F7来打开文件上的“节点”。 问题是这个过程是永远打开的,所以,第二次使用F7我得到一个附加使用。

有没有一种方法可以杀死从node.js打开的“node.exe”进程?

使用以下一组命令来识别在给定端口上运行的进程,并从命令行对其进行终止

sudo fuser -v 5000/tcp // gives you the process running on port 5000 

它会输出类似于下面显示的细节

  USER PID ACCESS COMMAND 5000/tcp: almypal 20834 F.... node 

然后使用

  sudo fuser -vk 5000/tcp 

终止进程。 再次使用检查

  sudo fuser -v 5000/tcp 

确保流程已经终止。

在Windows上,您可以使用以下步骤

  C:\> tasklist // will show the list of running process' Image Name PID Session Name Session# Mem Usage System 4 console 0 236 K ... node.exe 3592 console 0 8440 k 

注意对应于你的节点进程的PID,在这种情况下是3592.接下来运行taskkill来终止进程。

  C:\> taskkill /F /PID 3592 

或/ IM开关

  C:\> taskkill /F /IM node.exe 

在Node.js中:

 var die = function(quitMsg) { console.error(quitMsg) process.exit(1); } die('Process quit'); 

有一些退出的方法只适用于POSIX(即不是Windows),它将通过进程ID退出进程。

此外,请注意,您可能能够使用此方法发送kill()信号,但并不表示它不适用于Windows:

 process.kill(pid, [signal]) 

如果你说sublime是sublimeText插件,我有同样的问题,并从Python代码发送TCP服务器消息“关机”,然后

app.js

  TCPserver .on('connection', function(socket) { socket.pipe(require('through') (function(data) { //---------------------------- if (data.toString() === 'shutdown') { process.exit(); } //-------------------------- })); socket.end(); }) 

类似于@Alex W所说的,只要你有进程ID或PID,使用下面的节点函数就可以发送kill信号给进程:

process.kill(pid, [signal])

在我的例子中,我产生了PID,因为我产卵了child_process().spawn.pid 我已经测试它,它在Win 7 x64上工作。