Nodejs生成子进程计时

时间:2016-12-17 19:05:52

标签: node.js build child-process

我试图编写一个nodejs脚本来生成一个观察程序进程并产生另一个进程来启动我的开发服务器,但我需要观察者完成构建,在启动服务器之前开始观察。我尝试过使用超时,但很难确定构建完成时。

var spawn = require('child_process').spawn
fileWatcher = spawn('cmd', [args'], { stdio: 'inherit' })
setTimeout(function() {
 devServer = spawn('node', ['server/index.js'], { stdio: 'inherit' })
},20000)

有没有办法知道任何一个子进程何时没有输出任何数据,至少我知道它已完成/等待输入。

1 个答案:

答案 0 :(得分:0)

如果不需要{ stdio: 'inherit' },那么您可以使用以下内容:

var spawn = require('child_process').spawn;
args = ['-f', 'test.log'];
fileWatcher = spawn('tail', ['-f', 'abc.log']);
fileWatcher.stdout.once('data', function(data){
  console.log("Spawning dev server");
  devServer = spawn('node', ['server.js'], { stdio: 'inherit' });
});