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

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

3 ответа

Ваша команда для обнаружения процессов 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
5
ответ дан 25 May 2018 в 17:23

Ваша команда для обнаружения процессов 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
5
ответ дан 2 August 2018 в 02:38

Ваша команда для обнаружения процессов 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
5
ответ дан 6 August 2018 в 02:52

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

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