Убейте процесс, если он существует

Я хочу убить все задействованные процессы. Я использую это:

sudo killall instruments

Я использую это в script, и иногда процесс не выполняется, и он останавливает мой script, говоря, что нет процессов с этим запущенным именем.

Как проверить, работает ли какой-либо конкретный процесс? Инструменты в моем случае.

Ответ 1

sudo killall instruments 2>/dev/null

недостаточно?

Ответ 2

Если ваш script завершается, вы, скорее всего, включили set -e, чтобы выйти, когда команда завершилась с ошибкой.

Если вам не нужен статус, вы можете просто добавить || true к команде:

sudo killall instruments || true

Ответ 3

Вы можете использовать pgrep <proc> для поиска процесса с именем <proc>

if pgrep instruments &> /dev/null ; then sudo killall instruments ; fi