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

标签 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 执行它时,我希望它异步运行,这样我的应用程序就不会等到服务器终止。在回调中,我想使用服务器。

请帮我解决这个问题。

最佳答案

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/

相关文章:

linux - 在特定时间间隔后停止 Bash 脚本

regex - 用 sed 替换正则表达式组

Java Process Builder 重定向输出在 Eclipse 中工作,而不是作为 jar

linux - 如何删除字符串输出的前两个单词

C# - WCF - 进程间通信

java - 如何检查某个进程是否正在运行 - Linux 上的 java

node.js - 我应该将 JWT token 存储在 redis 中吗?

javascript - 使用 'koa-static' , app.use(serve ('public' )) 抛出 “requires a generator function” 错误消息

node.js - 如何在 node.js 中组织前后端项目结构?

javascript - WebSocket 连接失败 : Error during WebSocket handshake: Unexpected response code: 400