Ubuntu Suomen keskustelualueet
Muut alueet => Yleistä keskustelua => Aiheen aloitti: LeHiX - 21.12.21 - klo:07.36
-
Millä nimellä firefox esiintyy ajettaessa, ei ole ollut firefox pitkään aikaan? :O Yritin tappaa sitä mutta eihän se onnistunut, esim päivityksessä kun aikaisemmin käytti "killall firefox" niin se ehdotti käynnistyksessä jatkoa vaan eipä enää jos firefoxin vain sulkee?
päivitys siis 95.0 >> 95.0.1 ja kyllä sen istunnon saa palautettua myös valikosta
-
Itse olen käyttänyt komentoa pkill. Mutta nyt kun yritän katsoa firefox-prosesseja, komento pgrep ei näytä yhtään, eikä pkill päätä prosesseja.
Komennolla ps -ef | grep firefox
niitä kyllä löytyy monta (vaikka on vain yksi ikkuna ruudulla).
Kyllä pgrep ja pkill ovat aikaisemmin löytäneen firefox-prosessit. Hyvin kummallista.
-
Löysin selityksen (https://www.reddit.com/r/linuxquestions/comments/ia8471/any_idea_why_killall_firefox_does_nothing_and/g1n5ncs/?utm_source=share&utm_medium=web2x&context=3).
-
Olisiko jokin näistä? Aikaisemminkin oli firefoxilla jokin muu nimi ajonaikana? Conkystä top 5:
-
Löysin selityksen (https://www.reddit.com/r/linuxquestions/comments/ia8471/any_idea_why_killall_firefox_does_nothing_and/g1n5ncs/?utm_source=share&utm_medium=web2x&context=3).
Jassoo, toimisiko sitten killall MainThread?
Hölmöä :( tuo on kirjoitettu vuosi sitten jolloin oli sama tilanne mutta välissä se oli ihan firefox, olisiko taas muutettu :O
-
Ei kun pääprosessin nimi on muuttunut moneen kertaan.
Kokeilin mitä noilla eväillä löytyy, ja tässä lopputulos:
ps -ef | grep -i firefox | head -1
näyttää sen prosessin, jonka ikkuna ainoana on ruudulla. Poimin siitä PID-arvon seuraavaan komentoon:
ps -o pgrp,pid,comm,cmd 195509
ja siitä PGRP-arvon seuraavaan komentoon:
ps -o pgrp,pid,comm,cmd -2589
mutta viimeinen komento näyttää muutakin kuin firefox-prosessit. Tämä tarkoittanee (?) sitä, että firefoxin käynnistystapa on muuttunut sellaiseksi että homma on entistäkin hankalampi.
Edit: Muokkaukset on siirretty uuteen postaukseen.
-
Muokkailin edellistä vastausta kunnes pääsin jonkinlaiseen lopputuloksen. Tässä yhteenveto:
Noista kolmesta komennosta kakkonen näyttää prosessinimen (GeckoMain), jonka voi antaa pkill-komennolle:
pid=$(ps -ef | grep firefox/firefox | head -1 | tr -s ' ' | cut -d ' ' -f2)
pkill $(ps -o comm --no-headers $pid | head -1)
Muut firefox-prosessit toivottavasti päättyvät näiden mukana.
Tosin nimellä GeckoMain voi olla muitakin Mozilla-ohjelmia käynnissä, joten kannattaisi kuitenkin poimia niiden prosessien PID, jotka oikeasti ovat firefox-prosesseja:
fstpid=$(ps -ef | grep firefox/firefox | head -1 | tr -s ' ' | cut -d ' ' -f2)
name=$(ps -o pgrp,pid,comm,cmd --no-headers $fstpid | tr -s ' ' | cut -d ' ' -f4)
for pid in $(pgrep $name)
do
ps -ef $pid | grep firefox/firefox && kill -9 $pid
done
-
Katsoin järjestelmänvalvonnasta, mitkä Firefox-prosessit minulla on käynnissä, kun se on käynnistetty. Yllättävän monta käynnistyi, eli käynnistysjärjestyksessä: GeckoMain, Socket Process, Privileged Cont, WebExtensions, Chroot Helper ja monta Web Content.
-
Nyt kun on lounas syöty ja ajatus taas luistaa, sain turhat prosessien listaamiset ruksituksi pois, ja lopputulos on tämä:
while
pname=$(ps -e -o comm,cmd --noheaders | grep firefox/firefox | head -1 | cut -d' ' -f1)
[[ ! "$pname" =~ grep ]]
do
echo "Kill '$pname' processes that are running firefox"
ps -C $pname -o pid,cmd --noheaders | while
read line
do
pid=$(echo $line | cut -d' ' -f1)
cmd=$(echo $line | cut -d' ' -f2-)
if [[ "$cmd" =~ firefox/firefox ]]
then
echo "kill -9 $pid # $cmd"
kill -9 $pid
fi
done
done
Ulompi while-luuppi on siltä varalta että GeckoMain-prosessien päättäminen ei päätäkään kaikki firefox-aliprosesseja. Samalla tuli mukaan tarkistus että lista ei ole ihan tyhjä (jolloin grep tulostaa grep-rivin).
-
Jos ei istunnon aikana ole mitään erikoisia ohjelmia käynnissä voi käyttää myös
pkill -u <käyttäjä>
Jolloin kaikki käyttäjän prosessit tapetaan ja käyttäjä palautuu kirjautumisikkunaan.
-
Ulompi while-luuppi on siltä varalta että GeckoMain-prosessien päättäminen ei päätäkään kaikki firefox-aliprosesseja.
Pikakokeiluna sudo killall GeckoMain
riitti poistamaan oletetut selaimen ohjelmistot käynnistä.
-
Pikakokeiluna sudo killall GeckoMain
riitti poistamaan oletetut selaimen ohjelmistot käynnistä.
kuten on odotettavissakin, koska aika harva käyttää SeaMonkeytä tms. ohjelmaa, jolla myös voi olla GeckoMain-niminen pääprosessi. Vielä harvempi käyttää montaa sellaista yhtaikaa.
-
No nyt sitten riitti firefoxillekkin
killall firefox