现在,我们想通过使用Linux fd文件来控制正在运行的进程的stdin。这是代码。
import os, sys
if __name__ == "__main__":
print("Try commands below")
print("$ echo 'foobar' > /proc/{0}/fd/0".format(os.getpid()))
import ipdb;ipdb.set_trace()
while True:
print("read :: [" + sys.stdin.readline() + "]")
pass
我们可以打开另一个终端以回显字符串信息/proc/$pid/fd/0
,第一个终端将显示输入。但是我们不能像真实的键盘输入一样输入“ enter”信号。
我们尝试了echo -en "\n"
,它将仅输入新行,而不是“键盘输入”。