Tag: sigkill

从Node中杀死Java(Leiningen)进程

我从child_process.spawn启动了一堆java进程(通过child_process.spawn )。 从技术上讲,我正在启动Leiningen(一个Clojure构build工具, lein )。 后来我试图杀死他们和他们所有的孩子。 但它几乎从来没有工作,我得到的是一个活动监视器(OSX)充满了java的。 我杀了他们,首先运行thisProcess.kill(leinProcess.pid); (默认为SIGTERM),等待1秒,然后调用leinProcess.kill("SIGKILL"); 。 所有进程和主进程都在同一个用户下运行。 从命令行运行killall -9 java工作。

杀死一个bash脚本不会终止subprocess

我写了一个testing脚本运行另一个脚本来启动服务器来testing。 当testing完成后, SIGKILL消息被发送到服务器进程,但是当再次运行testing脚本时,服务器会抛出一个EADDRINUSE错误(我在一个node.js环境中),这意味着服务器试图挂载的端口目前正在使用中。 我们试图用SIGKILL杀死的进程仍在运行。 我不认为这是一个特定于节点的问题,而是我的末端教育缺乏教育如何工作。 这里有一些细节,这是我的脚本启动scripts/start-node.sh : #!/bin/bash node_modules/.bin/babel-node –stage 0 index.js 这是我的节点服务器称为index.js (我还没有创作任何process事件侦听器): Http.createServer(…).listen(PORT, () => console.log(`Server listening on ${PORT}`)) 启动脚本由节点child_process模块控制: var child = child_process.spawn('scripts/start-node.sh') // Later… child.kill('SIGKILL')