node.js子进程更改目录并运行该进程

我尝试使用子进程在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){
});

用于在“path”目录中运行脚本.

翻译自:https://stackoverflow.com/questions/25808024/node-js-child-process-change-a-directory-and-run-the-process

转载注明原文:node.js子进程更改目录并运行该进程