簡體   English   中英

Node.js-帶有spawn的子進程:無法從子流傳輸數據

[英]Node.js - child process with spawn: can't stream data from child

我想在Windows上生成一個子進程以打開終端(cmd.exe)。 除了我無法將數據從子進程流傳輸到父進程之外,我已經完成了所有工作。 我想在父進程中從終端訪問輸出。 這是我的代碼:

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

    var child = spawn('cmd', [ '/c', 'start'], {
        cwd: '{path-to-folder}'
        });


    child.stdout.on('data', function (data) {
        console.log(data);
    });

    child.stderr.on('data', function (data) {
        console.log(data);
    });

    child.on('close', function () {

        console.log('close');
    })

我真的很困,所以任何幫助或小費都很棒!! 提前致謝!

那是因為您要在新的終端會話中啟動新的Shell。 您只能截獲從同一終端會話運行的命令的輸出。

例如,如果將start更改為dir ,則將輸出:

var child = spawn('cmd', [ '/c', 'dir'], {
    cwd: '.'
    });
child.stdout.on('data', function (data) {
    console.log(data.toString());
});

驅動器C中的卷沒有標簽。 卷序列號是9401-94AE

Directory of C:\Temp


12/02/2015  01:29 PM    <DIR>          .
12/02/2015  01:29 PM    <DIR>          ..
12/02/2015  01:30 PM               403 test.js
               4 File(s)     10,423,442 bytes
               4 Dir(s)  12,869,840,896 bytes free

close

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM