
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
デフォルトのシグナルです。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>
これにより、Chrome に「QUIT」信号が送信されます。これは、ウィンドウ マネージャーに応じて、閉じるように要求されたときに通常送信される信号になります。