13

Я знаю, что могу напечатать:

ps -A | grep firefox

Я получаю что-то вроде:

6818 ?        00:04:23 firefox

Теперь я могу убить его с помощью:

kill -9 6818

Как это можно сделать с помощью одной команды и как я могу создать новую команду (скажем, kf), которая делает это?

1 ответ1

20

примечание: не используйте kill -9 если вы не пробовали все остальное. всегда сначала пытайтесь kill (без -9). для более подробного объяснения см. этот вопрос и ответы: https://unix.stackexchange.com/questions/8916/why-not-kill-9-a-process.


команда для сценария-уничтожения процессов - это pkill и killall . см. википедию на странице pkill и killall для более подробной информации.

Я приведу несколько примеров для pkill . killall работает аналогично pkill .

pkill -f firefox

Это уничтожит все процессы, в команде которых есть строка «firefox».

Обратите внимание, что это уничтожит все процессы, в команде которых есть строка firefox .

Например, если у вас есть открытый gedit, редактирующий файл с именем firefox.txt, например:

$ gedit firefox.txt &
$ pgrep -fl firefox
10959 gedit firefox.txt
30077 /usr/lib/firefox/firefox-bin
30123 /usr/lib/firefox/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so 30077 plugin true

Затем выполнение pkill -f firefox также убьет процесс gedit.

Вы можете предотвратить это, сказав pkill уничтожать только точные совпадения, используя pkill -x /usr/lib/firefox/firefox-bin . killall есть ключ -e который имеет тот же эффект.

Вы можете создать псевдоним в bash:

alias kf='pkill -f firefox'

Теперь вы можете использовать kf чтобы убить Firefox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .