システムがハングし、ユーザー入力に対してゆっくりと反応する場合、ハングしているプロセスを特定して強制終了する方法は?


24

最近、VLCでビデオを開こうとすると、システムが遅くなり、開いているアプリケーションのWebブラウザー、VLC、およびファイルマネージャーなどが反応しなくなりました。マウスはまだ非常にゆっくりと反応しました。

Windowsマシンでは、キーコンビCTRL-ALT-DELを押してタスクマネージャーを開き、ハングの原因となったプロセスを検索して強制終了します。

私はLinuxの使用にかなり慣れていないので、Ubuntuでこのような状況を解決するためのベストプラクティスを見つけていません。

システムがすでにユーザー入力に非常にゆっくりと反応している場合、ハングプロセスを識別して閉じるために、どの迅速かつ効果的な方法をお勧めしますか?

回答:


32

ハングしたプロセスを識別するには、主に2つの方法があります。1つはシステムモニターGUIを使用する方法、もう1つはtopコマンドラインを使用する方法です。

システムモニター

これは、システム>管理で見つけることができます

アカウント

この記事では、このためのキーボードショートカットを作成することもできます。

GUIが起動したら、実行中のすべてのプロセスをリストする[プロセス]タブを選択できます。CPU列でソートして、最もCPUを集中的に使用するタスクを見つけます

CPU

最後に、そのタスクを右クリックして、終了、停止、または強制終了を選択できます。強制終了すると、そのプロセスは直ちに停止し、システムから削除されます。

殺します

コマンドライン

端末を開いている場合は、単に入力するだけtopで、GUIの[プロセス]タブと同様の実行中のプロセスがすべてリストされます。

上

上部にはデフォルトでCPUがソートされているため、CPUを最も多く使用するタスクは上部にあります。いつでも手紙kを押してプロセスを殺すことができます

k

強制終了するプロセスのPIDを入力して、Enterキーを押します。送信するKillシグナルを要求します。プロセスを適切に終了するには、デフォルトの15を使用します-すぐに終了するには、「パスしないで、200ドルを集めないでください」を使用します9。

シグキル

その後、プロセスは終了します。

あなたが低迷インターフェイスを経験している場合は、それが有効になっている場合、遠隔でSSHに試すことができます-または経由で仮想コンソールに切り替えCtrl+ Alt+ F#どこF#で機能(ETC F3、F4、F5)キー。デスクトップ環境に戻るには、Ubuntuのバージョンに応じてF7またはF8に切り替えます。


5
素晴らしい答え。通常、Ctrl + Escショートカットをシステムモニターに割り当てます。これにより、強制終了プロセスにすばやくアクセスできます。
ハビエルリベラ

@Marco Ceppi:画像はどこに行ったのですか?
enzotib

@enzotib投稿が更新されました
マルコ・セッピ

1
システムモニターの場合は+1。ハングしているVLCプロセスを強制終了/停止できますが、htopではできませんでした。
マリソカン14

@malisokan本当にhtopできないの?SIGKILLを送信して、権限を持つハングプロセスを強制終了できます。
valは、モニカを

4

System Monitorアプレットをパネルに追加し(パネルを右クリックし、Add to Pannelシステムモニターを選択して検索します)、それを右クリックしてシステムモニターアプリケーションを開きます。

Alt+F2プログラムを押して起動すると、システムモニタアプリケーションを起動できますgnome-system-monitor

「プロセス」タブに移動し、殺そうとするアプリケーションを右クリックします


3

ほとんどはすでに言っています(私はMarco Ceppiの答えが好きです)が、GNOMEパネルに追加できる「強制終了」アプレットもあります。パネルを右クリックして、「パネルに追加...」を選択します。

代替テキスト

これにより、ウィンドウをクリックするだけで、ハングしているアプリケーションを終了できます。非常に高速で効率的です。


もちろん、11.04でUnityを実行すると、このアプリケーションは使用できなくなります。代替プロジェクトであるIndicator-Forcecloseがありますが、リポジトリには含まれていません。

あるいはxkill、ターミナルから実行することもできます。


ウィンドウを破壊するだけですか、それともプロセスを強制終了しますか?
valは、モニカを

@valは、ウィンドウを作成したプロセスを強制終了します。
Takkat

テスト済み:ありません。GTKコールバック内でハングするプログラムを作成し、xkillで強制終了しました。ウィンドウは消えましたが、プログラムは引き続き実行されました(または、必要に応じてハングします)。答えはノーです。プログラムがひどくスタックしている場合、プログラムを強制終了することはできません。
valは、モニカを

プログラムがウィンドウを作成するために別のプロセスを呼び出した後の@val xkillは、この追加プロセスのみを強制終了します。これは、Xサーバーを使用せずに実行するが、ウィンドウ処理のためにXを呼び出すプログラムにとって特に重要です。明らかに、そのようなプログラムをXサーバーから強制終了することは不可能です。
タックカット

私のプログラムは別のプロセスを呼び出しませんでした。GTKアプリケーションと同じプログラムを作成し、ハングさせました。xkillそのようなプロセスには影響しません(GTKは後で "ハング"して終了し、ウィンドウの損失を処理するようにすると終了します)。GTKコールバックは、マルチプロセッシングとは関係ありません。
valは、モニカを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.