Можно использовать 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.
# killall executable_name
или
# pkill executable_name
сделает это, но это - плохая идея. Та статья объясняет очень хорошо, почему (по существу, названия программы совершенно произвольны, и Вы могли легко уничтожить неправильный процесс), и как сделать это правильно (реструктурируйте программу, таким образом, Вы не должны уничтожать по имени).
set -e
(который является хорошей практикой для сценариев оболочки), неудавшаяся команда выйдет из оболочки, таким образом, Вам, возможно, понадобится a|| true
в этом случае. – Kevin 29.09.2015, 18:18