2

Как сказать команде kill игнорировать процессы, если этот процесс не существует?

Например: 3453 - это живой процесс, а 44534 - нет.

kill -9 3453 44534

4 ответа4

3
for pid in 3453 44534
do
  kill -9 "$pid" > /dev/null 2> /dev/null || :
done
2
kill -9 3453 || kill -9 44535
0

Большинство людей не знают, что kill - это встроенная команда для многих оболочек, и я предполагаю, что вы используете bash и что вы хотели бы подавить сообщения "нет такого процесса", которые могут генерироваться. Исполняемый файл, расположенный в /bin/kill на одной из моих машин, не генерирует таких сообщений.

$ /bin/kill -9 3453 44534
0
taskid=12345

if ps ax | grep -v grep | grep $taskid > /dev/null; then
  kill -9 $taskid
  # Task killed
fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .