Как сказать команде 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