Czy istnieje sposób, aby spowodować google-chrome
wyjście z terminala oprócz używania killall google-chrome
?
Chciałbym móc go zamknąć ze skryptu bez jego zabijania.
shell-script
kill
exit
chrome
slybloty
źródło
źródło
Odpowiedzi:
Być może
wmctrl
może pomóc. Możesz użyć-c
opcji, która z wdziękiem zamyka okno:Ciąg
chrome
jest dopasowywany do tytułów okien. Pamiętaj, że okno może się nie zamknąć, jeśli pojawi się wyskakująca wiadomość (np. Gdy masz otwartych wiele kart).źródło
wmctrl
.pkill -o chrome
robi to.To polecenie z wdziękiem wychodzi z drzewa procesów chrome we wszystkich menedżerach okien:
lub jeśli wolisz:
Detale:
SIGTERM
--oldest
SIGTERM
jest taki sam jak sygnał15
, a więc--signal TERM
po prostu pomiń go, ponieważSIGTERM
jest to sygnał domyślnywmctrl
współpracuje z Unity i niektórymi innymi, ale nie działa ze wszystkimi menedżerami okienwmctrl -c
zamyka jedno okno na raz, więc aby zamknąć wszystkie chromowane okna, potrzebujesz czegoś takiegowhile wmctrl -c 'Google Chrome'; do sleep 0.2; done
źródło
--oldest
nie ma takiej opcji: używanie-o
działa.-f
argument pkill nie pracuje dla mnie. Mam inne procesy działające jako root, które akurat mają słowo chrome w swoich wierszach poleceń, więc po prostu odmawia mi się pozwolenia. Bez tego-f
jednak działa idealnie.To działa dla mnie:
Zauważ, że używam raczej pełnego polecenia, aby było czytelne w kodzie, oczywiście możesz również wydać:
źródło
Włącz
Mac OS X
, zamiast tego użyj tegoPoszukuje procesu Google Chrome i zabija również wszystkie procesy nadrzędne.
Z podręcznika pkill
Zgodnie @ Keith-Cascio 's odpowiedzi , można spróbować zabić najstarszy proces. Pamiętaj, że to nie działało dla mnie.
źródło
próbować:
Spowoduje to wysłanie sygnału „ZAKOŃCZ” do chrome, który, w zależności od menedżera okien, będzie zwykle wysyłany, gdy zostaniesz poproszony o zamknięcie.
źródło
kill
lub wkillall
przypadku, gdy Chrome widzi to jako awarię i prosi o przywrócenie.SIGQUIT
nie jest zwykle wysyłany do aplikacji, gdy jest proszony o zamknięcie (nie znam żadnych WM, które to robią).WM_DELETE_WINDOW
jest standardem.kill -15 <pid_of_chrome>
zrobił to, czego szukałem. Alegoogle-chrome
ma wiele pid i kilka próbowało znaleźć właściwy.