NodeJs-检查子进程是否成功启动

时间:2018-12-12 16:04:52

标签: javascript node.js npm process nodes

我有一个脚本Start.js,该脚本正在使用Server.js启动另一个脚本shelljs

Server.js包含一个快速服务器,该服务器应在process.env.PORT上运行。

Start.js应该打印出服务器是否正确启动。

const process = shell.exec(`node Server.js`, {
            async: true,
            env: {
                PORT: 3000
            }
        }) as ChildProcess;

// how to detect that server was successfully started?

此脚本如何检测服务器是否已成功启动?

1 个答案:

答案 0 :(得分:0)

您需要在Server.js中写入stdout,并在exec回调函数中侦听stdout。

// Shell.js docs
exec('some_long_running_process', function(code, stdout, stderr) {
  console.log('Exit code:', code);
  console.log('Program output:', stdout);
  console.log('Program stderr:', stderr);
});

// Example
exec('node Server.js', function(code, stdout, stderr) {
  console.log('Exit code:', code);
  console.log('Program output:', stdout); // could print: 'server up!'
  console.log('Program stderr:', stderr);
});