, например, у меня есть этот скрипт, который убивает 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
Ваша команда для обнаружения процессов 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
Ваша команда для обнаружения процессов 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