const spawn = require('child_process').spawn io.on('connection', (socket) => { const shell = spawn('bash') const output = function(msg) { socket.emit('output', msg.toString()) } shell.stdout.on('data', output) shell.stderr.on('data', output) // shell.stdout.pipe(process.stdout) // 对子进程进行操作,父进程能看到子进程输出 // 子进程看不到父进程的输出 好像两个stdout不是同一个类型的对象? process.stdout.pipe(shell.stdout) ...... })
或者有什么其他办法能让子进程接受到process的输出
ps: 没办法用process.send,process.emit('data',...)