我尝试使用如下子进程在 node.js 中运行外部应用程序
var cp = require("child_process");
cp.exec("cd "+path+" && ./run.sh",function(error,stdout,stderr){
})
但是当我尝试运行它时卡住了,没有输入回调
run.sh 启动服务器,当我使用 cp.exec 执行它时,我希望它异步运行,这样我的应用程序就不会等到服务器终止。在回调中,我想使用服务器。
请帮我解决这个问题。
最佳答案
cp.exec 在参数选项中获取工作目录 http://nodejs.org/docs/latest/api/child_process.html#child_process_child_process_exec_command_options_callback
使用
var cp = require("child_process");
cp.exec("./run.sh", {cwd: path}, function(error,stdout,stderr){
});
用于在“路径”目录中运行脚本。
关于node.js 子进程更改目录并运行该进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25808024/