Node.js 如何启动管道子进程以使process.stdout.columns仍然工作?

Node.js 如何启动管道子进程以使process.stdout.columns仍然工作?,node.js,Node.js,以下是输出: // test.js if (process.argv.indexOf('child') >= 0) { console.log('child columns:', process.stdout.columns) } else { console.log('parent columns:', process.stdout.columns) pipedExec('node', ['test.js', 'child'], function(outda

以下是输出:

//   test.js

if (process.argv.indexOf('child') >= 0) {
    console.log('child columns:', process.stdout.columns)
}
else {
    console.log('parent columns:', process.stdout.columns)
    pipedExec('node', ['test.js', 'child'], function(outdata) {
        console.log('   '+outdata.join('\n   '))
    })
}

function pipedExec (cmd, arg, callback) {
    var
        pipe = '',
        spawn = require('child_process').spawn,
        x = spawn(cmd, arg)
    function d(outdata) { pipe += outdata.toString() }
    x.stdout.on('data', d) 
    x.stderr.on('data', d)
    x.on('close', function() { callback(pipe.split('\n')) })
    return x
}
如何使此代码按预期工作,即让子级从
process.stdout.columns
获取正确的值?我可以继承句柄,但管道将不起作用。或者我可以在程序args中传递列计数器,也可以通过文件传递(我现在这样做),但如果可能的话,我只想简单地设置管道的列宽

$ node test.js 
parent columns: 104
   child columns: undefined