写入进程监听消息的标准输入
Write to stdin of process listening for messages
假设我开始一个进程:
#!/usr/bin/env bash
while read line; do
echo "stdin message: $line"
done < "/dev/stdin"
显然这个进程正在侦听写入其标准输入的数据。另一个进程如何写入它?
这取决于进程的 stdin
连接到什么。如果它是命名管道,它们将写入管道文件。如果是 pseudo-tty,他们写入相应的主设备。
在大多数其他情况下,这通常是不可能的。
With Linux: 在你的 while 循环之前添加:
echo $$
在另一个 shell 中,使用 PID(例如 12345)如下:
echo "hello" >/proc/12345/fd/1
假设我开始一个进程:
#!/usr/bin/env bash
while read line; do
echo "stdin message: $line"
done < "/dev/stdin"
显然这个进程正在侦听写入其标准输入的数据。另一个进程如何写入它?
这取决于进程的 stdin
连接到什么。如果它是命名管道,它们将写入管道文件。如果是 pseudo-tty,他们写入相应的主设备。
在大多数其他情况下,这通常是不可能的。
With Linux: 在你的 while 循环之前添加:
echo $$
在另一个 shell 中,使用 PID(例如 12345)如下:
echo "hello" >/proc/12345/fd/1