我有一个节点任务,它产生一个子进程,并将该进程的输出转发到stdout:
var child = require( 'child_process' ).spawn( 'some_cmd' );
child.stdout.on( 'data', process.stdout.write.bind( process.stdout ) );
这工作得很好,除了任何非ascii字符,特别是控制文本颜色的字符,不能通过。
有谁知道怎么解决这个问题吗?或者,有人知道如何在不桥接流的情况下直接显示child_process
输出吗?
发布于 2014-06-19 18:19:40
回答我自己的问题(不过,如果有人知道如何实际读取字符控制数据,我仍然很感兴趣):
使用stdio: 'inherit'
调用child_process.spawn
会将stdout和stderr传递给子进程,所以这个问题就解决了。
require( 'child_process' ).spawn( 'cmd', { stdio: 'inherit' } );
https://stackoverflow.com/questions/24313361
复制相似问题