使用 Node.JS 杀死 sencha app watch 进程
Kill sencha app watch process using Node.JS
我正在使用 Node.JS child_process 生成如下命令:
var spawn = require('child_process').spawn,
cwd = __dirname,
cmd = '/path/to/sencha app watch',
child = spawn(
'/bin/sh',
['-c', cmd],
{
cwd : cwd,
env : process.env
}
);
哪个有效,我可以看到进程:
> ps -ef | grep watch
502 9706 9705 0 12:01PM ttys001 0:00.00 /bin/bash /path/to/sencha app watch
502 9718 9706 0 12:01PM ttys001 0:24.80 /usr/bin/java -Xms128m -Xmx1024m -Dapple.awt.UIElement=true -jar /path/to/sencha.jar app watch
和 child.pid 是 9706。如果我执行 child.kill() 发送任何信号,命令仍然是 运行。我需要终止 9718 进程。有什么方法可以终止 java 进程吗?
我解决这个问题的方法是直接调用 /user/bin/java 命令,现在我可以正确终止进程。唯一的问题是必须有通往 java.
的路径
我正在使用 Node.JS child_process 生成如下命令:
var spawn = require('child_process').spawn,
cwd = __dirname,
cmd = '/path/to/sencha app watch',
child = spawn(
'/bin/sh',
['-c', cmd],
{
cwd : cwd,
env : process.env
}
);
哪个有效,我可以看到进程:
> ps -ef | grep watch
502 9706 9705 0 12:01PM ttys001 0:00.00 /bin/bash /path/to/sencha app watch
502 9718 9706 0 12:01PM ttys001 0:24.80 /usr/bin/java -Xms128m -Xmx1024m -Dapple.awt.UIElement=true -jar /path/to/sencha.jar app watch
和 child.pid 是 9706。如果我执行 child.kill() 发送任何信号,命令仍然是 运行。我需要终止 9718 进程。有什么方法可以终止 java 进程吗?
我解决这个问题的方法是直接调用 /user/bin/java 命令,现在我可以正确终止进程。唯一的问题是必须有通往 java.
的路径