**已关闭。**此问题正在寻求书籍,工具,软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答案。
我们不允许您提问有关书籍、工具、软件库等方面的建议。您可以编辑问题,以便您可以通过事实和引用来回答问题。
昨天关门了。
Improve this question
我想使用node.js来捕获shell的输出,这样我就可以将其发送到另一个进程,并将输入发送到shell,就像我是一个使用终端的用户一样(这是一个自动化工具)。我已经设法完成了后者(将命令和输入发送到shell),但我仍然缺少终端的一些输出。
我在here上发布了一个关于这个问题的具体问题,但我想知道是否有更好的方法来实现这个高级目标。也许node.js脚本不是正确的方法。是否有更好的工具或现有的API来完成我想要的任务?
1条答案
按热度按时间snz8szmq1#
一般的解决方案是将子进程连接到一个伪终端(pty)而不是普通的管道。这看起来像是一个普通的子进程终端,但实际上是一个允许父进程通过管道与之交互的模拟器。
在shell中,这可以通过
expect
或script
这样的程序来完成。大多数高级语言都有一种在pty中运行子进程的方法,可能是使用外部库。看起来child_pty
包就是为了在node.js中做到这一点而设计的。