我正在尝试将一些输入(如标准输入,而不是命令行参数)从一个文件传输到linux机器上的挂起进程,例如,
cat file > fg
然而,我似乎找不到合适的命令。到目前为止我已经尝试了
file > fg
file | fg
file - | fg
fg < file
fg < cat file
我知道在启动新流程时,其中至少有一个会起作用,但我特别需要在挂起的流程中执行此操作。是否有专门针对我正在寻找的命令序列?
或者,我也可以使用python -c print输入输入,但我也没有成功。
答案 0 :(得分:2)
我相信这是不可能做到的。当流程暂停时,它已经打开了stdin
,stdout
和stderr
个文件描述符。对于您想要的内容,bash
需要某种方式强制关闭已挂起进程的stdin
,然后使用新输入fd重新打开它。如果有任何方法可以执行此操作而不涉及一些非常棘手的代码(例如,在挂起的进程内创建一个线程,挂起主线程,使用新线程关闭并重新打开{我会感到非常惊讶) {1}}文件描述符)。我不希望这样的过程在任何规律性的情况下都能正确完成。
但是,我可能也错了。