「停止」してXデスクトップを応答しないようにするLinuxアプリケーションを停止するための高度な戦略

「停止」してXデスクトップを応答しないようにするLinuxアプリケーションを停止するための高度な戦略

アプリケーション(thunderbird)に問題が発生すると、時には応答しない状態になり、UIをブロックし、ログインプロセス(tty端末で)をブロックし、Ctrl-Alt-Backspaceを使用してXセッションを再開できないようにすることがあります。 。

通常、* nixボックスではプロセスにシグナルを送信するだけで制御を再取得するのに十分なアクセス権を得ることができますが、この場合、多くのRAMとスワップを使用するアプリケーションにもかかわらず、すべてが破損します。

Ctrl-Alt-F1 を使用すると、コンソールとログインのプロンプトが表示され、root ユーザー名を入力できますが、パスワードのプロンプトが返されないため、気にしなくなります。

Ctrl-Alt-Backspace を押すと X セッションが再開されますが、ログインプロンプトは表示されず、電源を入れ直す必要があります。

キーストロークを低レベルの「割り込み機能」(通常の意味では意味)にバインドすることで、迷惑な停止プロセスを一時停止して何をしたいのかを確認する方法はありますかstrace

一部のブロックプロセスは、返される前に一時停止できないことを曖昧に知っていますが、この場合、ブロックプロセスがIOリソースにアクセスできないようにブロックされていることを示すものはなく、愚かなことをしているようです。

もともと、いくつかのbashスクリプトを使用してThunderbirdに関連するすべてのプロセスを最低の優先順位に保ち、調整したかったのですが、状況が見えるほど悪い場合は、新しいプロセスがCPUを取得できないようです。

Ctrl-Breakキーは私のコンピュータのデスクトップセッション中に他の目的には使用されないので、それを使用したいと思います。

デフォルトでは、デスクトップはキーを押してマウスに(ゆっくりと)反応するため、望ましくないプロセスを中断する特定の範囲の実行コマンドがあります。この状況でどのコマンドを使用するのかわかりません。

ベストアンサー1

私の考えでは、Thunderbirdは多くのメモリを消費しているようです。プロセスを終了する代わりにシェル/コンソールを取得できる場合。通常、検索インデックスを再構築するか、キャッシュに何千もの電子メールを読み込むと、Thunderbirdはハングします。

/procSIGTERMが最初に処理されるように、Linux oom Killerで優先順位を設定することもできます。

まず、Thunderbirdプロセスを探してみましょう。 (必要に応じて使用してください:pgrepなどps -ef|grep …

bash$ pidof thunderbird
1439

プロセスを一時的に停止するには、プロセスを停止するだけです。 :)

bash$ kill -s SIGSTOP 1439
bash$ strace ... 

満足すれば、「続行」信号を使用してプロセスを続行できます。 :)

bash$ kill -s SIGCONT 1439

また、スレッドの場合は、そのスレッドの使用を検討するか、tkill最初にtgkillインストールする必要があります。

おすすめ記事