pfo*_*pfo 5 ipc environment-variables parent-child child-process node.js
我想在NodeJS中启动子进程并将其输出保存到变量中.以下代码将其赋予stdout:
require("child_process").execSync("echo Hello World", {"stdio": "inherit"});
Run Code Online (Sandbox Code Playgroud)
我有一些与此代码类似的内容:
var test;
require("child_process").execSync("echo Hello World", {"stdio": "test"});
console.log(test);
Run Code Online (Sandbox Code Playgroud)
test
应该是的价值Hello World
.
哪个不起作用,因为"test"
它不是有效的stdio值.
也许这可以使用环境变量,但是我没有找到如何在子进程中修改它们,结果仍然可以看到父进程.
execSync
是一个函数,它返回您传入的命令的标准输出,因此您可以使用以下代码将其输出存储到变量中:
var child_process = require("child_process");
var test = child_process.execSync("echo Hello World");
console.log(test);
// => "Hello World"
Run Code Online (Sandbox Code Playgroud)
请注意,如果进程的退出代码非零,则会抛出错误.另外,请注意您可能需要使用,test.toString()
因为child_process.execSync
可以返回Buffer
.
归档时间: |
|
查看次数: |
3817 次 |
最近记录: |