「停止」して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インストールする必要があります。

答え2

あなたの質問に関するすべての詳細への答えになるかどうかはわかりませんが、いくつかのヒントがあります。

一部のプログラムの誤動作の根本原因が何であるかを知りたい場合は、コンソールで実行することです(つまり、GUIプログラムを実行するがコンソールで実行することを意味します)。これにより、プログラムが何をしているのかがわかります。 Thunderbirdの問題を解決する方法についての手がかりを得ることができます。

具体的に言えば、あなたが言及したのと同じ状況が発生したときに私がすることはあなたのコンピュータにSSHでアクセスして(例えば、Alt + F4を押してtty1を取得することはできませんがログインできます)、topps ax | grep thunderbirdプログラムを実行すると、デスクトップ(Xと他のすべてのウィンドウを含む)が正常に戻ります。

私はそれがあなたが質問に描いた正しい点に合わないことを知っていますが、私が持っているものを提供しています。

答え3

私はあなたの分析に何か問題があると思います。本当にまだシングルコアCPUを使用していますか?シングルコアボックスでは、ランアウェイプロセスよりも基本的な作業が進行中であると疑われます。ただし、何かが原因でシステムが非常に遅くなる可能性があります。

もちろん、問題が発生した後に診断を実行するためのアクセス権がないことは役に立ちません。

ACPI / APMを無効にして(クロックスケーリングがある程度影響を与える場合)、実行します。プロセス監視プログラムイベントをキャプチャしてみてください。

あなたは使用を検討することができます守る犬モニター専用モード(-q)で診断をトリガーします。

関連情報