如何检测Node生成的进程是否仍在运行?

时间:2015-10-27 18:21:00

标签: node.js spawn

我可以产生一个像:

这样的过程
var spawn = require('child_process').spawn;

var topicListener = spawn('python', ['topic_listener.py','Node.js'], {env: {
    TWITTER_CONSUMER_SECRET: process.env.TWITTER_CONSUMER_SECRET,
    TWITTER_CONSUMER_KEY: process.env.TWITTER_CONSUMER_KEY,
    TWITTER_TOKEN_SECRET: process.env.TWITTER_TOKEN_SECRET,
    TWITTER_ACCESS_TOKEN: process.env.TWITTER_ACCESS_TOKEN
}});

topicListener.stdout.on('data', function (data) {
    console.log(data.toString());
});

topicListener.stderr.on('data', function (data) {
    console.log(data.toString());
});

topicListener.on('close', function (code) {
    console.log("EXITED " + code);
});

所以当然我可以用.on(close, ...)同步控制所有这些但是有没有其他方法可以控制进程是否还活着?

1 个答案:

答案 0 :(得分:0)

spawn('python', ['topic_listener.py','Node.js']..返回子进程对象。如果活动有效,请使用topicListener.pid查找与该流程相关联的唯一ID。