node.jssubprocess更改一个目录并运行进程
我尝试使用subprocess在node.js中运行外部应用程序,如下所示
var cp = require("child_process"); cp.exec("cd "+path+" && ./run.sh",function(error,stdout,stderr){ })
但是,当我尝试运行它卡住,没有进入callback
run.sh启动一个服务器,当我用cp.exec执行它,我期望它asynchronous运行,这样我的应用程序不会等到服务器终止。 在callback中,我想与服务器一起工作。
请帮我解决这个问题。
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”目录中运行脚本。
引号是由shell解释的,如果你只是看ps
输出,就看不到它们。