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

时间:2014-09-12 12:09:14

标签: node.js bash process external

我尝试使用子进程在node.js中运行外部应用程序,如下所示

var cp = require("child_process");
cp.exec("cd "+path+" && ./run.sh",function(error,stdout,stderr){
})

然而,当我尝试运行它时卡住了,没有输入回调

run.sh启动服务器,当我用cp.exec执行它时,我希望它以异步方式运行,这样我的应用程序就不会等到服务器终止。在回调中,我想使用服务器。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:17)

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){
});

用于在"路径"中运行脚本。目录

答案 1 :(得分:0)

引号由shell解释,如果只查看ps输出,则无法看到它们。