Дочерний процесс унаследует все каналы, созданные до разветвления. Вы можете использовать это, чтобы «повесить» своего ребенка и дать ему знать, когда продолжить. Вы можете сделать так, чтобы ваш дочерний процесс попытался заблокировать чтение в канале, и он будет блокироваться (то есть зависать), пока родительский объект что-то не напишет.
Вы также можете использовать такие сигналы, как упоминает Дуглас. Вы можете позволить ОС выполнять базовую остановку / продолжение или использовать обработчики сигналов для выполнения чего-то более сложного (например, входа в бесконечный цикл).
Примеры обоих из них можно найти в FAQ по программированию Unix вместе с тонной дополнительной информации об управлении процессом, обработке сигналов, каналах и т. Д. ...
Вы можете попробовать заглянуть в / proc, чтобы определить, зависли ли вы. Вы можете прочитать / proc / / stat, чтобы получить много низкоуровневой информации о процессе, включая текущее состояние, количество времени пользователя / ядра, на которое процесс был запланирован, текущий стек и указатели команд и т. Д. .. Используя комбинацию этого, вы можете попытаться определить, завис процесс или нет. Посетите справочную страницу proc (5) для получения дополнительной информации о /proc//stat.