Evitar a suspensão de "echo STRING> fifo" quando nada estiver lendo esse FIFO

Evitar a suspensão de "echo STRING> fifo" quando nada estiver lendo esse FIFO

Quando faço echoalgo em um pipe nomeado feito com mkfifo, ele trava se nenhum processo estiver lendo esse pipe. Como posso evitar isso, ou seja, impedir que isso seja suspenso?

E, a propósito, por que esse echoprocesso de suspensão não está listado em ps -eou pstree?

Responder1

Não está totalmente claro qual é o resultado final desejado da pergunta, então assumirei que seu desejo é continuar o programa, mas ainda assim fazer com que a gravação ocorra quando possível. Nesse caso, basta colocar a operação em segundo plano:

echo foo > fifo &

Quanto ao motivo de echonão estar listado na tabela de processos, é porque echoé umshell embutido.

informação relacionada