ps axl | grep чтототам
можно ли как-то написать инструкцию так, чтобы он проверял - например, если процесс идет больше 20 мин, то kill процесс?Только другой программой-мониторилкой. Или делать многопоточный/многопроцессный скрипт, что сложнее.
с большой вероятностью поймает сам процесс grep.99% что проблема именно в этом
ps axl | grep чтототам | grep -v grep
Делать надо так:Практически везде уже есть pgrep. Рекомендовано использовать его.Код: [Выделить]ps axl | grep чтототам | grep -v grep
Практически везде уже есть pgrep.Однако не везде. Я вообще сторонник чистого posix в shell скриптовании. Оно как-то переносимее получается.
Тогда надо не ps ax а таки ps -ax ;)Практически везде уже есть pgrep.Однако не везде. Я вообще сторонник чистого posix в shell скриптовании. Оно как-то переносимее получается.
ОС - Free bsdНет. Но в целой куче процессов в htop можно легко не заметить нужный процесс.
Если процесс продолжал выполяться - могло ли это не отображаться в htop?
Что можно сделать, если процесс завис?Зависит от того, в каком статусе он завис. Возможно происходят блокировки в базе, тогда сам процесс скрипта убить можно, а вот запрос просто так без перезапуска СУБД не факт.
echo "Checkpoint 1";
...
...
echo "Checkpoint 2";
...
exec /var/www/gate-32/htdocs/bitrix/crontab/sunmar_list_index 2>&1 >> /tmp/script.out;
писать их в файл? (или в базутолько в файл. В базу может не пройти запись, если проблема с базой.