Я получил PID процесса, и мне нужно проверить, не является ли он зомби, используя системные вызовы POSIX в C. Как мне это сделать?
Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть процесс, и он разветвляется на множество дочерних процессов, все дочерние элементы выполняют exec, и иногда я хочу выполнять exec в фоновом режиме, поэтому я не могу действительно ждать () дочерних процессов, которые идут в фоновом режиме. Я мог бы периодически ждать() (один раз в моем основном цикле), но мне нужно знать, какие процессы являются зомби, чтобы мой отцовский процесс не зависал в ожидании детей, которые не скоро закончатся.
Если вам интересно, я создаю оболочку unix, и в природе оболочки дочерние процессы ведут себя асинхронно.