小编Isk*_*ren的帖子

从 nodejs 中 child_process.spawn 的 stderr 读取所有内容

尝试fping从 nodejs 通过child_process.spawn()is运行并通过捕获输出cp.stderr.on('data')有时会导致缓冲区中的数据不完整。这是我的示例片段:

const ChildProcess = require('child_process');

const args = [
                '-A','-c10','-b1472','-B1',
                '-r0','-O0','-q', '-p100',
                'google.com', 'slack.com', 'github.com'
            ];

function runChildProcess() {
    const child = ChildProcess.spawn('fping', args);

    child.on('exit', (code) => 
        console.log('Process exited with code', code)
    );

    child.stdout.on('data', (data) => {
        console.log('stdout:', data.toString().length, 'chars');
    });
    child.stderr.on('data', (data) => {
        console.log('stderr:', data.toString().length, 'chars');
    });

}

setInterval(runChildProcess, 1500);
Run Code Online (Sandbox Code Playgroud)

这会产生如下输出:

stderr: 219 chars
Process exited with code 0
stderr: 208 chars
stderr: 11 chars
Process exited with code 0 …
Run Code Online (Sandbox Code Playgroud)

buffer child-process node.js

2
推荐指数
1
解决办法
1362
查看次数

标签 统计

buffer ×1

child-process ×1

node.js ×1