如何检测节点产生的进程是否仍在运行?

我可以产生一个像这样的过程:

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, ...)来控制它.on(close, ...)但是如果一个进程仍然存在,还有什么其他方法可以控制吗?

spawn('python', ['topic_listener.py','Node.js']..返回Child process Object。使用topicListener.pid查找与进程关联的唯一标识,如果它处于活动状态。

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

如果topiclistener为null,那么这个过程就不存在了