Как зарегистрироваться в сценарии оболочки, если исполняемый файл работает или нет?

Я не знаю ни о каких готовых решениях, но httping или ab могли, вероятно, быть полезные части в собственной разработки.

Если Вы обращаетесь к cpu load из маршрутизатора Вы могли использовать что-то как collectd собрать данные.

2
11.04.2013, 14:42
2 ответа

Можно использовать pgrep найти исполняемые файлы с данным именем процесса:

$ pgrep firefox
3212
$ pgrep firef
3212

Использовать -l опция к расшифровке подписи во втором столбце:

$ pgrep -l firefox
3212 firefox

Использовать -x опция соответствовать процессам, имя которых точно соответствует шаблону.

$ pgrep -x firefox
3212
$ pgrep -x firef
$ 

Когда Вам возвратили PID исполняемого файла, можно уничтожить его. Также можно сделать это в одноэтапном использовании pkill управляйте, не интересуетесь ли Вы значением PID:

$ pkill -x firefox

Это уничтожит процесс с именем. Если не будет такого процесса, то ничего не произойдет кроме установки $? переменная к 1.

8
27.01.2020, 21:49
  • 1
    При выполнении с set -e (который является хорошей практикой для сценариев оболочки), неудавшаяся команда выйдет из оболочки, таким образом, Вам, возможно, понадобится a || true в этом случае. –  Kevin 29.09.2015, 18:18
# killall executable_name

или

# pkill executable_name

сделает это, но это - плохая идея. Та статья объясняет очень хорошо, почему (по существу, названия программы совершенно произвольны, и Вы могли легко уничтожить неправильный процесс), и как сделать это правильно (реструктурируйте программу, таким образом, Вы не должны уничтожать по имени).

6
27.01.2020, 21:49

Теги

Похожие вопросы