与来自不同进程的正在运行的交互式控制台程序交互

Modified on: Sat, 30 Jun 2018 11:49:30 +0800

我有一个带有交互式shell的控制台程序,类似于Python交互式shell。有没有一种简单的方法来启动这个交互式程序A,然后使用另一个程序B来运行A?我想做这样的事情:

$ /usr/bin/A&
$ #find PID of A somehow
$ somecommand "PID of A" "input string to send to A"
output string from A
$

什么样的“某些命令”可以做到这一点?这是“期望”应该促进的吗?我阅读了expect手册页,但仍然不知道它的作用。

最佳答案

expect用于其他目的。它在强制程序上运行命令。相比之下,您正在寻找一种方法将命令发送到已在后台运行的进程。

作为你想要的 bare-bones 最小例子,让我们创建一个FIFO:

$ mkfifo in

FIFO是一个特殊文件,当一个进程从中读取时,一个进程可以写入该文件。让我们创建一个进程来读取:

中的FIFO文件in

作者:,John1024

相关问答

添加新评论