NodeJs child_process Arbeitsverzeichnis

Lesezeit: 1 Minute

Benutzer-Avatar
Jeroen de Dauw

ich versuche zu ein Kind hinrichten process in einem anderen Verzeichnis als dem des übergeordneten Prozesses.

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

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

Ich mache das oben Gesagte (obwohl ich am Ende natürlich nicht “pwd” ausführen möchte). Dies wird dazu führen, dass das pwd des übergeordneten Prozesses in stdout geschrieben wird, unabhängig davon, welchen Wert ich für die cdw-Option angegeben habe.

Was vermisse ich?

(Ich habe sichergestellt, dass der als cwd-Option übergebene Pfad tatsächlich existiert)

Die Option ist kurz für aktuelles Arbeitsverzeichnisund wird buchstabiert cwdnicht cdw.

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

  • Oh .. Tippfehler .. Jetzt frage ich mich, wie ich das nicht bemerkt habe. Durch das Beheben des Tippfehlers funktionierte der Code wie erwartet.

    – Jeroen De Dauw

    19. September 2013 um 15:18 Uhr


  • Scheint nicht zu funktionieren. Bei Windows 10 bin ich mir nicht sicher, ob das wichtig ist

    – Matt Westlake

    17. Mai 2018 um 17:43 Uhr

  • @Matt Westlake Ich weiß, ich bin wahrscheinlich spät dran, aber ich denke, unter Windows müssen Sie ausführen cd Anstatt von pwd wie so var cmd = `cd foo/bar ⏎ ls`; var exec = require('child_process').exec; ...

    – Theorie

    2. Juli 2019 um 8:26 Uhr


  • @Jeroen De Dauw lol, wir waren alle dort

    – Lennon McLean

    11. Januar 2021 um 13:21 Uhr

  • @vbtheory Bemerkenswert, dass es auch keine gibt ls unter Windows (es ist dir stattdessen) und Verzeichnistrennzeichen sind umgekehrte Schrägstriche, keine Schrägstriche.

    – Clonkex

    28. Februar um 23:37 Uhr

1138100cookie-checkNodeJs child_process Arbeitsverzeichnis

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy