【问题标题】:How do you spawn a child process in an external folder?如何在外部文件夹中生成子进程?
【发布时间】:2021-09-24 07:35:23
【问题描述】:
我正在使用 Electron.js 构建一个浏览器应用程序,该应用程序连接到位于目录中单独文件夹中的烧瓶后端。截至目前,我正在使用一种 hacky 解决方法来执行后端:
const bat = cp.exec("cd api && python app.py");
但是,理想情况下,我希望在 API 文件夹中生成一个后端子进程。我该怎么做?
谢谢
【问题讨论】:
标签:
javascript
node.js
electron
【解决方案1】:
child_process.exec() 函数对子进程的当前工作目录有一个特定的选项。
你可以在the doc看到它。
child_process.exec(command[, options][, callback])
command <string> The command to run, with space-separated arguments.
options <Object>
cwd <string> | <URL> Current working directory of the child process. Default: process.cwd().
...
因此,您可以设置该选项并指定 api 目录:
const bat = cp.exec("python app.py", {
cwd: path.join(process.cwd(), "api")
});