ターミナルからGoogle Chromeを終了する

ターミナルからGoogle Chromeを終了する

google-chromeを使用する以外に、ターミナルから終了させる方法はありますかkillall google-chrome?
強制終了せずにスクリプトから閉じられるようにしたいと思います。

答え1

このコマンドは、すべてのウィンドウ マネージャーで Chrome プロセス ツリーを正常に終了します。

pkill --oldest chrome

または、ご希望の場合は:

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

詳細:

  • 正常に終了するとは、次回 Chrome を起動したときに「Google Chrome は正常にシャットダウンしませんでした。再起動するには...」というメッセージが表示されないようにすることを意味します。
  • Chromeブラウザ(例:バージョン39.0.2171.95)はトラップし、適切に処理しますSIGTERM
  • 単一のプロセスにシグナルを送り、Chromeのプロセスツリーのルートとなるため、--oldest
  • SIGTERMはシグナルと同じなので15--signal TERM省略してください。 はSIGTERMデフォルトのシグナルです。
  • wmctrlUnityや他のいくつかのウィンドウマネージャでは動作しますが、すべてのウィンドウマネージャで動作するわけではありません。
  • 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>

これにより、Chrome に「QUIT」信号が送信されます。これは、ウィンドウ マネージャーに応じて、閉じるように要求されたときに通常送信される信号になります。

関連情報