Как сказать команде kill
игнорировать процессы, если этот процесс не существует?
Например: 3453
- это живой процесс, а 44534
- нет.
kill -9 3453 44534
for pid in 3453 44534
do
kill -9 "$pid" > /dev/null 2> /dev/null || :
done
kill -9 3453 || kill -9 44535
Большинство людей не знают, что kill
- это встроенная команда для многих оболочек, и я предполагаю, что вы используете bash и что вы хотели бы подавить сообщения "нет такого процесса", которые могут генерироваться. Исполняемый файл, расположенный в /bin/kill
на одной из моих машин, не генерирует таких сообщений.
$ /bin/kill -9 3453 44534
taskid=12345
if ps ax | grep -v grep | grep $taskid > /dev/null; then
kill -9 $taskid
# Task killed
fi