を使用することに加えて、google-chrome
ターミナルから出る他の方法はありますかkillall google-chrome
?
私はそれを殺すことなくスクリプトでそれを閉じることができるようにしたいです。
答え1
このコマンドは、すべてのウィンドウマネージャでChromeプロセスツリーを正常に終了します。
pkill --oldest chrome
または必要に応じて:
/usr/bin/pkill --oldest --signal TERM -f chrome
詳細:
- エレガントに言ってください:「Chromeが正しく閉じられていません。次回Chromeが起動したら再起動してください...」というメッセージが表示されないようにしてください。
- Chromeブラウザ(バージョン39.0.2171.95など)がトラップされ、正常に処理されます。
SIGTERM
- Chromeプロセスツリーのルートである単一プロセスにシグナルを送信します。
--oldest
SIGTERM
signal と同じ15
か、または基本信号なので--signal TERM
省略します。SIGTERM
wmctrl
Unityや他のウィンドウマネージャとは動作しますが、すべてのウィンドウマネージャとは動作しません。wmctrl -c
一度に1つのウィンドウを閉じます。すべてのChromeウィンドウを閉じるには、次のものが必要です。while wmctrl -c 'Google Chrome'; do sleep 0.2; done
答え2
おそらくwmctrl
役に立つかもしれません。-c
このオプションを使用してウィンドウを正常に閉じることができます。
wmctrl -c chrome
この文字列はchrome
ウィンドウのタイトルと一致します。一部のメッセージが表示された場合(たとえば、複数のタブが開いている場合)、ウィンドウが閉じないことがあります。
答え3
これは私にとって効果的です。
killall --quiet --signal 15 -- chrome
コードで内容を読みやすくするためにかなり冗長なコマンドを使用しましたが、もちろん次のように実行することもできます。
killall -q -15 chrome
答え4
努力する:
kill -3 <pid_of_chrome>
これにより、ウィンドウマネージャに応じて、通常は閉じるように要求されたときに送信される信号「QUIT」信号がChromeに送信されます。