【问题标题】:NodeJs - Check if child process started successfullyNodeJs - 检查子进程是否成功启动
【发布时间】:2019-05-13 18:56:47
【问题描述】:

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

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?

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

【问题讨论】:

    标签: javascript node.js npm process nodes


    【解决方案1】:

    您需要在 Server.js 中写入标准输出,并在 exec 回调函数中监听标准输出。

    // 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);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2013-10-21
      • 2018-08-29
      • 2021-11-08
      • 1970-01-01
      相关资源
      最近更新 更多