обработка текста и сообщение об ошибке

Например, у меня есть этот скрипт, который убивает 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.

Какой самый простой способ отобразить сообщение об ошибке ?

1
задан 31 October 2011 в 12:33

1 ответ

Ваша команда для обнаружения процессов 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
0
ответ дан 31 October 2011 в 12:33

Другие вопросы по тегам:

Похожие вопросы: