Цель такая: определить, правильный статус процесса. Погуглив, я понял, что кастомно определить, что процесс завис - нельзя. Но есть bash скрипты, которые помогут это решить *(что меня не очень устаивает).
Подскажите, как верно определить, завис ли процесс? Учитывая, что это совсем разные программы, которые потребляют по разному.
процесс должен отвечать на что-либо, либо писать логи.
Иначе вы не определите чем конкретно он занят.
bash скрипты ничего решить не могут, можно просто при помощи баш скриптов отправлять сигналы в процесс или смотреть его параметры, но это можно делать и другими способами. Просто баш скрипты обычно самые доступные для пользователя.
Можете пробовать смотреть что-то в /proc/, или через top
или посмотреть как именно работают те bash скрипты, про которые вы упоминаете.
Можно подробнее про сигналы?
Мне достаточно знать, отвечает ли процесс или нет, килать его не собираюсь, поэтому, если он отойдёт позже, нечего не будет.
Насчёт bash-скрипты, я обознался, он оказывается килает процесс, который начинает много кушать
чтобы процесс отвечал на сигнал, программист, который писал программу, должен был это запрограммировать.
Волшебных сигналов не существует. "килять процесс" - это тоже означает отправить ему сигнал, просто некоторые сигналы заблокировать со стороны процесса нельзя.
почитайте https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%B3%D...
Возможно некоторые процессы могут вернуть какую-нить информацию по сигналу 16 и 17.
Отправлять сигналы можно той же командой kill, просто указывается номер сигнала.
А так - волшебного способа не существует. Если у процесса нет логов, то информацию простым способом не получить никак.