Я намагаюся перевірити, чи працює якийсь процес (припустимо, він називається some_process) на сервері. Якщо це так, то відлуння 1, інакше відлуння 0.
Це команда, яку я використовую, але вона працює лише частково (детальніше нижче). Зауважте, що мені потрібно написати сценарій одним рядком.
ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi
Примітка . [s]In some_proces[s]- це запобігання grepповерненню.
Якщо some_processпрацює, то "1"лунає, що добре. Однак якщо some_processне працює, нічого не відлунюється.
ps -Ccmdдля пошуку процесів, назва команди яких "cmd", які можуть повністю усунутиgrep.psвстановить код виходу на деяке ненульове значення, якщо він не зможе знайти процес узгодження.