[英]how do I kill a node.js process from another node.js process?
我正在尝试从另一个 node.js 进程运行 scripts/node.js 进程。 我想出了如何使用child_process.spawn()
启动它们,并且我从中获得了 PID,但我不知道如何杀死它们。 使用child_process.exec()
运行taskkill
即使使用/F
也不起作用,即使它说“task-killing”成功,node.js 窗口仍在运行。 我什至尝试过 powershell 的stop-process
,但这也不起作用。 我该如何杀死它? (来自 node.js)
编辑:
process.kill(pid,15)
和process.kill(pid,9)
都以:
错误:kill ESRCH errno:-4040,代码:'ESRCH',系统调用:'kill'
NodeJS 在全局process
对象中有一个名为kill
的方法, kill
接受一个PID
(进程 ID)和一个可选的SIGNAL
(杀死信号)发送到由PID
标识的进程。
这是如何使用它
process.kill(pid, SIGNAL)
-> SIGNAL 是可选的。
假设进程 id 为 1000
process.kill(1000)
,不指定信号会自动发送SIGTERM到进程 id 1000。
需要注意的是, SIGNAL
也可以是数字, SIGTERM
的数字值为15
。 信号编号
例如,您可以这样做。
process.kill(1000, 15)
或process.kill(1000, 'SIGTERM')
-> 向进程 id 1000 发送终止信号
process.kill(1000, 9)
或process.kill(1000, 'SIGKILL')
-> 向进程 id 1000 发送终止信号
当pid
不存在时,nodejs 进程将抛出ESRCH
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.