Как убить Firefox из командной строки

Как убить Firefox из командной строки

Как убить Firefox из командной строки?

Я пытался:

pkill firefox # the command was known to work previously
pkill -9 firefox
kill -9 firefox # descibed in https://unix.stackexchange.com/questions/8916/when-should-i-not-kill-9-a-process
bash: kill: firefox: arguments must be process or job IDs
killall firefox #described in https://appuals.com/restart-firefox-command-line/

Все напрасно.

введите описание изображения здесь

Выход

ps aux | grep -i firefox | grep -v grep

является

v           2419  1.7  7.7 4026824 458876 ?      Sl   12:56   0:51 /usr/lib/firefox/firefox -new-window
v           2483  0.0  0.6 190540 38684 ?        Sl   12:56   0:00 /usr/lib/firefox/firefox -contentproc -parentBuildID 20210927210923 -prefsLen 1 -prefMapSize 246254 -appdir /usr/lib/firefox/browser 2419 true socket
v           2515  0.0  2.0 2407620 119704 ?      Sl   12:56   0:01 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 102 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2553  0.5  2.6 2572708 156816 ?      Sl   12:56   0:16 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 268 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2581  0.0  1.6 2406928 99740 ?       Sl   12:56   0:01 /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 4889 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2612  0.3  3.7 2648096 225204 ?      Sl   12:56   0:09 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 5588 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2866  0.0  1.2 2373260 72628 ?       Sl   12:58   0:00 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 5701 -prefMapSize 246254 -jsInit 286204 -parentBuildID 20210927210923 -appdir /usr/lib/firefox/browser 2419 true tab
v           2998  0.0  0.6 194220 39176 ?        Sl   13:12   0:00 /usr/lib/firefox/firefox -contentproc -parentBuildID 20210927210923 -prefsLen 5926 -prefMapSize 246254 -appdir /usr/lib/firefox/browser 2419 true rdd

решение1

вкратце: pkill -f firefoxделает свое дело.

Я нашел это на pkill/pgrepстраницах руководства:

Имя процесса, используемое для сопоставления, ограничено 15 символами, присутствующими в выводе /proc/pid/stat. Используйте опцию -f для сопоставления с полной командной строкой, /proc/pid/cmdline.

Имея /usr/lib/firefox/firefoxPID 691953при локальном тестировании на моей машине, я обнаружил следующее /proc/691953/stat:

691953 (GeckoMain) .... # truncated by me

Убиваю pkill GeckoMainFirefox, как и обещал. killall GeckoMainТоже работает.

Самым простым решением, вероятно, будет указать флаг -fдля pkillсопоставления /proc/<pid>/cmdline, который в моем случае содержал /usr/lib/firefox/firefox.

решение2

killработает только с идентификатором процесса

  1. Откройте терминал и разверните его на весь экран.
  2. Введите ps -ef | grep firefox, чтобы отобразить ВСЕ процессы Firefox
  3. Идентификатор процесса # — второй столбец.
  4. Вероятно, вы ищете того, кто наверху, с аргументами -new-window(он не всегда наверху)
  5. Если вы не уверены, введите topи подтвердите идентификатор процесса Firefox, который вы хотите завершить.
  6. Затем введите, kill -9 1234где 1234 = идентификатор вашего процесса.

Похожий ответздесь

решение3

Я знаю, что вам нужна простая команда. Лучше сделайте псевдоним для:

pgrep firefox | xargs kill

Например: постоянная команда. Отредактируйте файл ./bashrc.

$ vim ~/.bashrc

Найдите место в файле, где вы хотите сохранить псевдонимы. Например, вы можете добавить их в конец файла. Для целей организации вы можете оставить комментарий перед вашими псевдонимами, например, так:

alias foxkiller="pgrep firefox | xargs kill 2>/dev/null"

Если вы хотите использовать новый псевдоним foxkillerв текущем сеансе, выполните следующую команду:

$ source ~/.bashrc

Итак, у вас будет foxkillerкоманда на завершение работы Firefox.

решение4

Я написал небольшое приложение на языке C, которое делает свое дело.

убить firefox

уничтожит все запущенные экземпляры

само собой разумеется, его можно использовать для любого имени процесса

kkiller — это демон, который отслеживает запрошенные имена и завершает их, если они становятся активными процессами.

Вы можете найти это здесь:

kkill, kkiller на GitHub

Связанный контент