端末からGoogle Chromeを終了します


28

google-chrome使用する以外に、端末から終了させる方法はありkillall google-chromeますか?
スクリプトを強制終了せずに終了できるようにしたいと思います。


2
キルの何が問題になっていますか?
ゾレダチェ

1
@Zoredacheその結果、終了とは異なる動作が発生し、Chromeは複数のプロセスを使用し、そのうちの1つ(サンドボックス)はsetuidルートです。
ジル「SO-悪であるのをやめる」

回答:


12

おそらくwmctrl何らかの助けになるかもしれません。-cウィンドウを正常に閉じるオプションを使用できます。

wmctrl -c chrome

文字列chromeはウィンドウのタイトルと照合されます。メッセージがポップアップした場合(たとえば、複数のタブを開いている場合)、ウィンドウが閉じない場合があることに注意してください。


1
このオプションは問題なく動作しますが、のインストールが必要ですwmctrl
slybloty

wmctrlはシステムトレイ「Chromeアプリ」を閉じることができません。pkill -o chromeしかし。
ケンシャープ

26

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

pkill --oldest chrome

またはあなたが好むなら:

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

詳細:

  • 「Google Chromeが正常にシャットダウンしませんでした。リポジトリを作成するには…」
  • クロムブラウザー(バージョン39.0.2171.95など)をトラップし、適切に処理します。 SIGTERM
  • 単一のプロセス、つまりchromeのプロセスツリーのルートを通知するため、 --oldest
  • SIGTERMデフォルトのシグナル15であるため--signal TERM、signalと同じSIGTERMです。
  • wmctrl Unityや他の一部で動作しますが、すべてのウィンドウマネージャーでは動作しません
  • wmctrl -c 一度に1つのウィンドウを閉じるため、すべてのChromeウィンドウを閉じるには、次のようなものが必要です。 while wmctrl -c 'Google Chrome'; do sleep 0.2; done

1
私は--oldestオプションではないので、古いバージョンのpkillを使用して-oいると考えています。
ケンシャープ

-fpkillへの議論は私には役に立たない。コマンドラインにchromeという単語が含まれているルートとして実行されている他のプロセスがあるため、許可が拒否されました。がなくても-f、完全に機能します。
ブライアンミントン

これはまだ私が「correntlyシャットダウンしませんでした」を参照作る
xtrinch

Ubuntu 18.04では、再起動またはシャットダウンをトリガーした直後にこれを実行するにはどうすればよいですか?
ハイメハブルツェル

1

これは私のために働く:

killall --quiet --signal 15 -- chrome

コードで読みやすくするためにかなり冗長なコマンドを使用していることに注意してください。もちろん、次のコマンドも発行できます。

killall -q -15 chrome

1

Mac OS X、代わりにこれを使用してください

pkill -a -i "Google Chrome"

Google Chromeプロセスを探し、その親プロセスもすべて強制終了します。

pkillマニュアルから

    -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の回答によると、代わりに最も古いプロセスを強制終了することができます。これは私にとってはうまくいかなかったことに注意してください。

pkill -o -i "Google Chrome"

0

試してください:

kill -3 <pid_of_chrome>

これはchromeに「QUIT」シグナルを送信します。これは、ウィンドウマネージャーによっては、閉じるように求められたときに通常送信されるものです。


2
これはただのように働くkillか、killallChromeがクラッシュとしてそれを見てどこで、復元するかどうかを確認します。
slybloty

1
3ではなく15を試してから
ブラックルモリ

6
実際にSIGQUITは、通常、閉じるように求められたときにアプリケーションに送信されません(これを行うWMを知りません)。WM_DELETE_WINDOW標準です。
クリスダウン

2
@ blacklemon67 kill -15 <pid_of_chrome>は私が探していたものをやりました。しかし、google-chrome複数のPIDがあり、実際に正しいPIDを取得するために数回試行しました。
slybloty
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.