使用 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.

的路径