Когда я echo
что-то делаю в именованном канале с помощью mkfifo
, он зависает, если ни один процесс не читает из этого канала. Как я могу предотвратить это, т. е. остановить зависание?
И кстати, почему этот echo
процесс подвешивания не указан в ps -e
или pstree
?
решение1
Из вопроса не совсем ясно, какой конечный результат вы хотите получить, поэтому я предположу, что вы хотите продолжить программу, но при этом сохранить запись, когда это возможно. В этом случае просто переведите операцию в фоновый режим:
echo foo > fifo &
Что касается того, почему echo
это не указано в таблице процессов, то это потому, echo
что этовстроенная оболочка.