Javascript 如何确保子节点进程从正确的目录启动?

Javascript 如何确保子节点进程从正确的目录启动?,javascript,node.js,child-process,Javascript,Node.js,Child Process,我在windows server中运行Node.js进程。一些npm包要求节点进程从正确的目录启动,例如--我最初遇到这个问题是因为我让Task Manager任务运行启动节点进程的.bat文件,但是如果我没有明确地将TaskManager任务设置为从我的包.json的包含文件夹启动,配置找不到要加载的正确文件 因此,如果我从另一个节点进程中启动一个节点进程,通过类似于require('child_process').fork的方式,我还需要确保它是从特定目录调用的吗?我该怎么做呢?如果在子进程

我在windows server中运行Node.js进程。一些npm包要求节点进程从正确的目录启动,例如--我最初遇到这个问题是因为我让Task Manager任务运行启动节点进程的
.bat
文件,但是如果我没有明确地将TaskManager任务设置为从我的
包.json
的包含文件夹启动,配置找不到要加载的正确文件

因此,如果我从另一个节点进程中启动一个节点进程,通过类似于
require('child_process').fork的方式,我还需要确保它是从特定目录调用的吗?我该怎么做呢?

如果在
子进程上执行
.fork()
.exec()
.spawn()
,它们都会接受一个options对象,而该对象又有一个
.cwd
属性。比如说

const cp = require('child_process')
const child = cp.spawn('./whatever', { cwd: '/path/to/dir' })

console.log(\uu dirname)
我想?很好,cwd,
当前工作目录,正是我要找的。谢谢你,伙计。顺便说一句,你知道默认情况下cwd是什么吗?它是指向
/which
、调用
cp.spawn
的javascript文件的路径还是什么?我认为它与父进程相同。在您的孩子中打印出来以测试它
process.cwd()