web-dev-qa-db-fra.com

Répertoire de travail NodeJs child_process

J'essaie de exécuter un enfant traiter dans un répertoire différent de celui de son parent.

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

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

Je fais ce qui précède (bien que, bien sûr, exécuter "pwd" ne soit pas ce que je veux faire à la fin). Cela finira par écrire le pwd du processus parent dans stdout, quelle que soit la valeur que j'ai fournie à l'option cdw.

Qu'est-ce que je rate?

(Je me suis assuré que le chemin passé en tant qu'option cwd existe réellement)

44
Jeroen De Dauw

L'option est l'abréviation de répertoire de travail actuel, et est orthographiée cwd, pas cdw.

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