Например, у меня есть этот скрипт, который убивает Firefox
ps x | grep firefox | grep -v grep | awk '{print $1}'| xargs kill -9
, но когда Firefox не работает, он выплевывает:
Usage:
kill pid ... Send SIGTERM to every process listed.
kill signal pid ... Send a signal to every process listed.
kill -s signal pid ... Send a signal to every process listed.
kill -l List all signal names.
kill -L List all signal names in a nice table.
kill -l signal Convert between signal numbers and names.
Какой самый простой способ отобразить сообщение об ошибке ?
Ваша команда для обнаружения процессов Firefox ужасна, она также включает процессы с «firefox» в их командной строке (например, имя каталога). Вместо этого используйте pidof firefox
.
Вы можете сначала сохранить PID, проверить, не является ли он (не) пустым, и настроить поведение:
pids=$(pidof firefox)
if [ -n "$pids" ]; then
kill -9 $pids
else
echo "No Firefox processes found"
fi
Или использовать killall
вместо этого, если вам не нужно сообщение об ошибке:
killall firefox