Из ваших обновлений похоже, что вы также хотите проверить другие процессы, которые не являются дочерними элементами вашего текущего процесса.
Вы можете посмотреть на /proc/{pid}/status
, чтобы получитьобзор того, что процесс в настоящее время делает, он или будет:
- Запуск
- Остановлен
- Спящий
- Диск (D) сон(связан с вводом-выводом, беспрерывно)
- Zombie
Однако, как только процесс умирает (полностью, если не находится в зомбированном состоянии), происходит и его запись в / proc.Невозможно определить, успешно ли он завершился, вышел из строя, перехватил сигнал, который не может быть обработан, или не смог обработать сигнал, который можно обработать.Нет, если только его родитель не регистрирует эту информацию где-то.
Похоже, что вы пишете сторожевой таймер для других процессов, которые вы не запустили, вместо того, чтобы отслеживать дочерние процессы.