GNU / Linuxでは、$ kill -STOPを使用してSIGSTOPシグナルを送信してからSIGCONTを送信して再度有効にすることができます。
これは、最小化されたFirefoxウィンドウ「Isolated Web Co」で約11%の消費を防ぎ、CPUパフォーマンスを節約します。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28112 test 20 0 2824208 337744 126840 S 11.3 2.1 0:14.89 Isolated Web Co
プロセス/スレッドのCPU負荷を最小限に抑えるために、プロセススレッドツリーにSIGSTOPを送信する方法を統合するデスクトップUIはありますか?
私は明らかに私が聞いている最小化されたSpotifyではこれを行いません!
だからこの行動は
- タイトルバーを右クリックして[最小化と停止]を選択します。
- タスクバーのアイコンをクリックすると(GNOME Classicなど)、アプリケーションはSIGCONTを受け取り、ウィンドウが再び最大化されます。
私は別の「最小化と一時停止」が欲しい。これにより、SIGSTOP通信が送信されます。
答え1
対話型プロセスを停止することは、ユーザーの機能の期待を破るための素晴らしい方法です。最新のデスクトップアプリケーションは、実際にはメッセージバスを介してデスクトップの残りの部分と緊密に統合されるためです。したがって、あなたのアプローチは誘惑的に聞こえますが、実際には悪い考えです。言うまでもなく、Xウィンドウに応答を停止させることはできません...
いいえ、私が知っているデスクトップ環境にはそのようなハッキングが存在しないと思います。
あなたのために何かをすることはまさにあなたのブラウザであることに注意してください。正しいことは、ブラウザがやっていることに近づいて、あなたに役に立たない場合はやめることです。私はこれが本当だと思います。たとえば、ブラウザタブのチャットクライアントは、サーバー上で継続的にステータスメッセージを受信して送信する必要があり、オンラインワードプロセッシングツールの同期が中断されるべきではありません。
それにもかかわらず、ソフトウェアデザイナーは通常、これらのバックグラウンドタスクに低い優先順位を割り当てるので(ここではわからない)、通常、CPUがこれ以上やることがない場合にのみ実行されます。つまり、パフォーマンスに大きな影響はありません。オペレーティングシステムがCPUコアを完全にスリープ状態にするのを防ぐことができるため、電力を消費してバッテリ駆動のランタイムを減らすことができます。
これはやや望ましくありませんが、プロセスの一時停止/覚醒(TCPタイムアウトによるリセット、WiFiカードに高い送信電力が必要な場合は大量のシャットダウン)によって引き起こされる可能性がある負の影響と実際の影響を比較する必要があります。高いデータレートでデータ転送を達成するためには、これが発生するのを待たなければならないという簡単な事実があります。つまり、より長い時間の間、最大の明るさで視聴することになるという意味です。すべての要因は省エネに影響を与えます!
答え2
killall -SIGSTOP firefox-bin
ここではうまくいきます。私はいかなる副作用も観察できませんでした。
必要に応じて、Firefoxを停止して再起動するデスクトップショートカットを作成できます。
SIGCONT
また覆います。