运行子进程后避免等待换行符

时间:2014-10-21 04:08:35

标签: node.js

此命令给我的单元测试带来了麻烦。问题是测试卡在等待子进程接收换行符:

var cmd = spawn('ls');

所以,我按照this thread中的建议发送换行符:

   setTimeout(function() {
        cmd.stdin.write('\n');
        console.log('Ending terminal session');
    }, 2000);

我得到了这个例外:

Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (net.js:275:12)

如果我从命令行运行命令,只要按下回车键,函数就会按预期返回,但是没有上述错误,它不会通过stdin发送换行符。

0 个答案:

没有答案