Search code examples
javascriptnode.jschild-processworking-directory

NodeJs child_process working directory


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)


Solution

  • 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
    });