因此,从文档中,我可以 grep 进程是否存在。但如果没有,我会得到 self 的返回结果。我可以通过执行实际的语句来做到这一点,但是node.js 的方式怎么样?!我已经尝试了多个 grep,但也许有人已经这样做了......我只需要添加一个额外的 | grep -v |
,本质上。
var util = require('util'),
spawn = require('child_process').spawn,
ps = spawn('ps', ['ax']),
grep = spawn('grep', ['MyProcessThatIsNotRunning']);
ps.stdout.on('data', function (data) {
grep.stdin.write(data);
});
ps.stderr.on('data', function (data) {
console.log('ps stderr: ' + data);
});
ps.on('exit', function (code) {
if (code !== 0) {
console.log('ps process exited with code ' + code);
}
grep.stdin.end();
});
grep.stdout.on('data', function (data) {
console.log(data.toString());
});
grep.stderr.on('data', function (data) {
console.log('grep stderr: ' + data);
});
grep.on('exit', function (code) {
if (code !== 0) {
console.log('grep process exited with code ' + code);
}
});
最佳答案
为什么不使用 child_prosses.exec ?
var cmdline = 'ps ax | grep -v grep | grep MyProcessThatIsNotRunning';
require('child_process').exec(cmdline, function (error, stdout, stderr) {
if (error)
{
console.error(error); process.exit(1);
}
// parse 'ps ax | grep -v grep | grep MyProcessThatIsNotRunning' result here
console.log(stdout);
});
关于Node.js grep 进程(但不包括 self),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588863/