
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.
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 firefox
faz o truque.
Encontrei isso nas pkill/pgrep
pá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/firefox
o PID 691953
ao testar localmente em minha máquina, encontrei o seguinte em /proc/691953/stat
:
691953 (GeckoMain) .... # truncated by me
Fazendo um pkill GeckoMain
firefox morto como prometido. killall GeckoMain
funciona também.
A solução mais simples é provavelmente fornecer o -f
sinalizador para pkill
corresponder ao /proc/<pid>/cmdline
, que no meu caso continha /usr/lib/firefox/firefox
.
Responder2
kill
só funciona com o ID do processo
- Abra um terminal e coloque-o em tela inteira
- Digite
ps -ef | grep firefox
para exibir TODOS os processos do Firefox - O ID do processo # é a segunda coluna
- Você provavelmente está atrás daquele que está no topo com argumentos
-new-window
(nem sempre está no topo) - Se você não tiver certeza, digite
top
e confirme o ID do processo do Firefox que deseja eliminar - Em seguida, digite
kill -9 1234
onde 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 foxkiller
na sessão atual, emita o seguinte comando:
$ source ~/.bashrc
Então você terá um foxkiller
comando 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: