Como matar o Firefox na linha de comando

Como matar o Firefox na linha de comando

Como matar o Firefox na linha de comando?

Eu tentei:

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/

Tudo em vão.

insira a descrição da imagem aqui

A saída de

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

Responder1

dr: pkill -f firefoxfaz o truque.

Encontrei isso nas pkill/pgreppáginas de manual:

O nome do processo usado para correspondência é limitado aos 15 caracteres presentes na saída de /proc/pid/stat. Use a opção -f para corresponder à linha de comando completa, /proc/pid/cmdline.

Com /usr/lib/firefox/firefoxo PID 691953ao testar localmente em minha máquina, encontrei o seguinte em /proc/691953/stat:

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

Fazendo um pkill GeckoMainfirefox morto como prometido. killall GeckoMainfunciona também.

A solução mais simples é provavelmente fornecer o -fsinalizador para pkillcorresponder ao /proc/<pid>/cmdline, que no meu caso continha /usr/lib/firefox/firefox.

Responder2

killsó funciona com o ID do processo

  1. Abra um terminal e coloque-o em tela inteira
  2. Digite ps -ef | grep firefoxpara exibir TODOS os processos do Firefox
  3. O ID do processo # é a segunda coluna
  4. Você provavelmente está atrás daquele que está no topo com argumentos -new-window(nem sempre está no topo)
  5. Se você não tiver certeza, digite tope confirme o ID do processo do Firefox que deseja eliminar
  6. Em seguida, digite kill -9 1234onde 1234 = seu ID do processo.

Resposta semelhanteaqui

Responder3

Eu sei que você precisa de um comando simples. É melhor você criar um alias para:

pgrep firefox | xargs kill

Ex.: um comando permanente. Edite seu arquivo ./bashrc.

$ vim ~/.bashrc

Encontre um local no arquivo onde deseja manter os aliases. Por exemplo, você pode adicioná-los no final do arquivo. Para fins organizacionais, você pode deixar um comentário antes de seus aliases, algo como isto:

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

Se desejar usar o alias recém-definido foxkillerna sessão atual, emita o seguinte comando:

$ source ~/.bashrc

Então você terá um foxkillercomando para matar o Firefox.

Responder4

Eu escrevi um pequeno aplicativo C, que resolve o problema

kmatar o firefox

irá matar todas as instâncias em execução

nem é preciso dizer que pode ser usado para qualquer nome de processo

kkiller é um daemon, irá observar os nomes solicitados e matá-los se eles se tornarem processos ativos

Você pode encontrá-lo aqui:

kkill, assassino no GitHub

informação relacionada