【发布时间】:2016-12-16 04:07:35
【问题描述】:
我确实了解.exec 和.spawn 之间的概念差异。
我正在尝试运行一个简单的命令,比如说echo。
使用 .exec,该命令会按预期工作。
使用 .spawn 我会收到 Error: spawn echo ENOENT。
我做错了什么?
// WORKS AS EXEPCTED
const exec= require('child_process').exec;
exec("echo hello", function(err, stdout) {
console.log(stdout);
});
// THROWS
const spawn = require('child_process').spawn;
spawn("echo", ["hello"]); // fail
收到错误:
Error: spawn echo ENOENT
at exports._errnoException (util.js:1026:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:359:16)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:606:11)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
我在 Windows 上运行!
感谢您的帮助和耐心。
【问题讨论】:
-
请提供您的代码示例,没有它很难回答。在这样的基本命令执行中,既没有 exec 也没有 spawn 的突出错误。
标签: node.js exec child-process spawn