Powiedz, że zaczynam proces z:
#!/usr/bin/env bash
while read line; do
echo "stdin message: $line"
done < "/dev/stdin"
najwyraźniej ten proces nasłuchuje danych zapisywanych na jego stdin. Jak inny proces może do niego pisać?
Odpowiedzi:
1 dla odpowiedzi № 1To zależy od tego, co proces stdin
Jest podłączony do. Jeśli jest to potok nazwany, zapisuje do pliku potoku. Jeśli jest to pseudo-tty, zapisuje do odpowiedniego urządzenia master.
W większości innych przypadków nie jest to ogólnie możliwe.
1 dla odpowiedzi nr 2
Z Linuksem: Dodaj przed swoją pętlą while:
echo $$
W innej powłoce użyj PID (na przykład 12345) w następujący sposób:
echo "hello" >/proc/12345/fd/1