У меня есть программа, которая читает из stdin и пишет в stdout. В моем примере это cat
. Я хочу иметь три сценария, чтобы сделать что-то как следующее:
start.sh cat
создал бы фоновый процесс и любое оборудование, требуемое другими двумя сценариями.
write.sh <pid> "hello"
записал бы hello
к stdin ранее созданного процесса, не закрывая его.
read.sh <pid>
считал бы stdout этого процесса, только часть, записанная начиная с последнего чтения, в этом случае hello
, затем распечатайте его и выйдите, не ожидая больше вывода.
Я понимаю, что могу иметь (2), если я создаю файл FIFO. И я могу иметь (3) путем направления вывода к файлу и вращения его. Действительно ли это - нормальное решение? Это чувствует себя немного специальным. Какие альтернативы я имею?