Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js grep进程(但不包括self)_Node.js_Grep - Fatal编程技术网

Node.js grep进程(但不包括self)

Node.js grep进程(但不包括self),node.js,grep,Node.js,Grep,因此,从文档中,我可以grep进程是否存在。但如果没有,我会得到self的返回结果。我可以通过执行实际语句来实现这一点,但是node.js的方式呢?!我尝试了多个greps,但可能有人已经这么做了。。。我只需要添加一个额外的|grep-v |,本质上就是这样 var util = require('util'), spawn = require('child_process').spawn, ps = spawn('ps', ['ax']), grep = s

因此,从文档中,我可以grep进程是否存在。但如果没有,我会得到self的返回结果。我可以通过执行实际语句来实现这一点,但是node.js的方式呢?!我尝试了多个greps,但可能有人已经这么做了。。。我只需要添加一个额外的
|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);
  }
});
为什么不使用


对于上述答案,您可以尝试

var cmdline = 'ps ax | grep MyProcessThatIsNotRunnin[g]';


方括号是一个找不到grep的技巧。

最终做了类似的事情,更有意义。
var cmdline = 'ps ax | grep MyProcessThatIsNotRunnin[g]';
grep  = spawn('grep', ['MyProcessThatIsNotRunnin[g]']); 
//should work didn't test though.. :)