我的情况与此类似邮政 但我无法得到那里提供的解决方案来解决我的情况,因为答案似乎只与该问题有关。
尤其是,我不明白
cat my.fifo | nc remotehost.tld 10000
就我而言,我有一个正在运行并等待输入的进程。如何使用命名管道将输入发送到该进程?
我试过echo 'h' > /proc/PID/fd/0
它只是在进程窗口上显示“h”。
答案1
只要忽略包含的行nc
,这个问题中的 OP 想要使用它通过网络传输数据nc
。
剩下的就是:
mkfifo yourfifo
cat > yourfifo &
mypid=$!
yourprogram < yourfifo
现在你可以使用以下命令将数据发送到你的程序
echo "Hello World" > yourfifo
如果完成后,请终止程序,发出命令kill $mypid
以摆脱虚拟进程以保持 FIFO 打开并rm yourfifo
摆脱命名管道。