У меня есть процесс, который не работает регулярно и иногда запускает повторяющиеся экземпляры.
Когда я запускаю:
ps x |grep -v grep |grep -c "processname"
Я получу:
2
Это нормально, так как процесс выполняется с процессом восстановления.
Если я получу
0
Я хочу начать процесс
если я получу:
4
Я хочу остановить и перезапустить процесс
Мне нужен способ получить результат ps x |grep -v grep |grep -c "processname"
Затем настройте простую 3-опционную функцию
ps x |grep -v grep |grep -c "processname"
if answer = 0 (start process & write NOK & Time to log /var/processlog/check)
if answer = 2 (Do nothing & write OK & time to log /var/processlog/check)
if answer = 4 (stot & restart the process & write NOK & Time to log /var/processlog/check)
Процесс останавливается с помощью
killall -9 process
Процесс начинается с
process -b -c /usr/local/etc
Моя основная проблема - найти способ действовать на результат ps x |grep -v grep |grep -c "processname"
.
В идеале я хотел бы сделать результат этой grep переменной в script с чем-то вроде этого:
process=$(ps x |grep -v grep |grep -c "processname")
Если возможно.