NodeJs child_process working directory

2019-02-02 20:09发布

问题:

I am trying to execute a child process in a different directory then the one of its parent.

var exec = require('child_process').exec;

exec(
    'pwd',
    {
        cdw: someDirectoryVariable
    },
    function(error, stdout, stderr) {
        // ...
    }
);

I'm doing the above (though of course running "pwd" is not what I want to do in the end). This will end up writing the pwd of the parent process to stdout, regardless of what value I provided to the cdw option.

What am I missing?

(I did make sure the path passed as cwd option actually exists)

回答1:

The option is short for current working directory, and is spelled cwd, not cdw.

var exec = require('child_process').exec;
exec('pwd', {
  cwd: '/home/user/directory'
}, function(error, stdout, stderr) {
  // work with result
});