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

标签 javascript node.js npm process nodes

我有一个脚本 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?

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

最佳答案

您需要在 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);
});

关于javascript - NodeJs - 检查子进程是否成功启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746941/

相关文章:

node.js - npm pack 花费的时间非常长

javascript - JQuery 递归调用自身

node.js - 替换文档不得包含原子运算符

javascript - 我可以告诉浏览器同步始终使用一个 .html 文件吗? (对于 html5mode 链接)

node.js - 在 React 中安装依赖项

javascript - NPM 环境变量在 Windows 中不起作用?

javascript - Sencha cmd,闭包编译错误: how to locate the offending code

javascript - 在 javascript 中,将标签转换为链接的最有效方法是什么?

javascript - 为什么在将这个无限循环添加到我的 javascript 代码后我的页面无法加载?

node.js - npm install : illegal operation on a directory 出现问题