Evite que se cuelgue "echo STRING > fifo" cuando nada lee ese FIFO

Evite que se cuelgue "echo STRING > fifo" cuando nada lee ese FIFO

Cuando hago echoalgo en una tubería con nombre hecha con mkfifo, se cuelga si ningún proceso lee desde esa tubería. ¿Cómo puedo evitarlo, es decir, evitar que se cuelgue?

Y, por cierto, ¿por qué ese echoproceso de suspensión no figura en ps -eo pstree?

Respuesta1

No está del todo claro cuál es el resultado final deseado de la pregunta, por lo que asumiré que su deseo es continuar con el programa, pero aún así realizar la escritura cuando sea posible. En ese caso, simplemente ponga en segundo plano la operación:

echo foo > fifo &

En cuanto a por qué echono aparece en la tabla de procesos, es porque echoes unshell incorporado.

información relacionada