将REST API数据传递回Node命令行

时间:2018-02-27 17:03:38

标签: node.js rest command-line

我正在运行此命令: NODE_ENV=production grunt babel && NODE_ENV=sandbox node dist/bin/copilot.js --mode $1

copilot.js启动另一个JavaScript文件(取决于上面的模式参数);在这种情况下,它是copilotMonitor.js

简短的故事是这个'Monitor'ping REST API记录,如果需要重新启动模式,则返回数据。 API将按照&#34; mode_3&#34;的行返回copilotMonitor.js。 然后我如何将此命令pkill -9 -f <mode>传递回命令行?

我知道process.argv告诉我我传递给节点应用程序的参数是什么,但是如果有意义的话,我想将 back 传递给节点应用程序。

1 个答案:

答案 0 :(得分:0)

答案,节点子进程!

https://nodejs.org/docs/latest-v4.x/api/child_process.html#child_process_child_process_exec_command_options_callback 我还发现此视频很有用:https://www.youtube.com/watch?v=9o8B3L0-d9c

const exec = require('child_process').exec;

exec(`pkill -9 -f ${mode}`, (err, stdout, stderr) => {
    if (err) {
        console.log(`There was an error killing mode ${mode}`);
        console.error('error: ', err);
        return;
     }
     console.log('kill restart! stdout: ', mode, stdout)
     console.log('kill restart! stderr: ', mode, stderr)
});