Google Chrome'dan terminalden çık


28

google-chromeKullanmanın yanı sıra terminalden ayrılmanın bir yolu var mı killall google-chrome?
Öldürmeden bir senaryodan kapatmayı istiyorum.


2
Öldürmenin nesi yanlış?
Zoredache

1
@Zoredache Çıkıştan farklı davranışlarla sonuçlanır ve Chrome, biri (sanal alan) setuid kökü olan birden fazla işlem kullanır.
Gilles 'SO- kötülük olmayı bırak'

Yanıtlar:


12

Belki wmctrlbiraz yardım olabilir. -cBir pencereyi incelikle kapatan seçeneği kullanabilirsiniz :

wmctrl -c chrome

Dize chrome, pencere başlıklarına karşı eşleştirilir. Bazı mesajlar açılırsa pencerenin kapanmayabileceğini unutmayın (örn. Açık sekmeler varken).


1
Bu seçenek kusursuz çalışıyor ancak kurulumunun yapılması gerekiyordu wmctrl.
slybloty

wmctrl "Chrome Apps" sistem tepsisini kapatamıyor. pkill -o chromeYine de yapar.
Ken Sharp,

26

Bu komut, tüm pencere yöneticilerinde chrome işlem ağacını zarifçe çıkar:

pkill --oldest chrome

veya eğer tercih ederseniz:

/usr/bin/pkill --oldest --signal TERM -f chrome    

Detaylar:

  • incelikle anlamına gelir: “Google Chrome'un doğru şekilde kapanmadığını görmekten kaçının. Repoen için ... ”Bir dahaki sefere krom başlar
  • krom tarayıcı (örneğin, sürüm 39.0.2171.95) tuzaklar ve incelikle ele alır SIGTERM
  • tek bir işlemin işaretini, kromun işlem ağacının kökenini, dolayısıyla --oldest
  • SIGTERMsinyal olarak aynıdır 15, dolayısıyla --signal TERMbu yana, ya da sadece dışarıda bırakın SIGTERMvarsayılan sinyalidir
  • wmctrl Unity ve diğerleriyle çalışır ancak tüm pencere yöneticileriyle çalışmaz
  • wmctrl -c bir seferde bir pencereyi kapatır, böylece tüm krom pencereleri kapatmak için buna benzer bir şeye ihtiyacınız olur: while wmctrl -c 'Google Chrome'; do sleep 0.2; done

1
--oldestBir seçenek olmadığı için eski bir pkill sürümünü kullandığımı varsayıyorum : using -oworks.
Ken Sharp,

-fpkill için argüman benim için çalışmıyor. Chrome kelimesini komut satırlarında barındıran root olarak çalışan başka işlemler de var, bu yüzden izin verilmedi. Olmadan -f, yine de mükemmel çalışıyor.
Brian Minton,

Bu hala beni 'doğru şekilde kapatmadım'
görmesini sağlıyor

Ubuntu 18.04'te, yeniden başlatma veya kapatmayı tetikledikten hemen sonra bunun nasıl yürütülmesini sağlayabilirim?
Jaime Hablutzel

1

Bu benim için çalışıyor:

killall --quiet --signal 15 -- chrome

Kodda okunabilir olması için oldukça ayrıntılı bir komut kullandığımı unutmayın, elbette ayrıca:

killall -q -15 chrome

1

Açık Mac OS X, bunun yerine kullanın

pkill -a -i "Google Chrome"

Yaptığı şey bir Google Chrome işlemini aramak ve ana işlemlerinin tümünü de öldürmektir.

Pkill El Kitabından

    -a          Include process ancestors in the match list.  By default, the
                current pgrep or pkill process and all of its ancestors are
                excluded (unless -v is used).
    -i          Ignore case distinctions in both the process table and the
                supplied pattern.

@ Keith-cascio'nun cevabına göre , bunun yerine en eski süreci öldürmeyi deneyebilirsiniz. Bunun benim için işe yaramadığını unutmayın.

pkill -o -i "Google Chrome"

0

Deneyin:

kill -3 <pid_of_chrome>

Bu, pencere yöneticinize bağlı olarak, kapatılması istendiğinde genellikle ne gönderileceği olacak olan, kroma bir "ÇIKIŞ" sinyali gönderir.


2
Bu gibi davranan killveya killallChrome kazasında olarak görüyor nerede ve geri soran.
slybloty

1
3 yerine 15'i deneyin, sonra
Blackle Mori

6
Aslında, SIGQUITkapatılması istendiğinde genellikle uygulamalara gönderilmez (Bunu yapan hiçbir WM bilmiyorum). WM_DELETE_WINDOWstandarttır.
Chris Down,

2
@ blacklemon67 aradığım kill -15 <pid_of_chrome>şeyi yaptı. Ancak, google-chromebirden fazla ilaç var ve doğru olanı elde etmeye çalışan birkaç kişi aldı.
slybloty,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.