私は通常、コンピューターに (さまざまな画面セッションに分散して) 長時間実行される zsh プロセスを多数持っていますが、しばらく使用されていないシェルは交換される傾向があります。このようなスワップアウトされたシェルに切り替えて Enter キーを押すと (空のプロンプトで)、シェルが応答して新しいプロンプトが表示されるまでに数秒かかります (ただし、その後は完全に機能し始めます)。
煩わしさを軽減するために、unswap PID
(すでに応答している別のシェルから)呼び出してシェルスワップインを強制できるコマンド(たとえば)が必要です。
これを達成する方法についてのアイデアはありますか?
PSシステムに任意のプロセスでスワップを要求するコマンドを探すことから始めましたが、そのようなものは見つからなかったので、これは不可能だと思いました。zsh
これは私が本当に興味を持っているケースであり、その特定のケースの解決策があることを望んでいるので、私はここで私の質問を に集中させました. (zshだけでなく)どのプロセスでも機能するより一般的な方法があれば、それも大歓迎です。
PPS最初に、シェル内でトラップ関数を使用することを考えました。これにより、シェルがスワップインするのに十分なアクティビティ(何でも)が実行されました。WINCH
ただし、シグナルでこれを試してみたところ、機能しないことがわかりました。(スワップアウトされたプロセスにシグナルが配信されていない可能性がありますか?シグナルはありますか?)
編集:私の典型的なケースでは、zsh
実行中のプロセスの束があり、ブラウザを開いたままにしておくと (複数の Gmail、Facebook などのタブがあり)、ブラウザが使用可能なすべての RAM を占有し、圧迫します。それ以外はすべてスワップします。デスクトップがしばらく反応しなくなりますが、すぐに治ります。ただし、screen セッションに再接続するときは、各シェルを手動で起動する必要があります (それらを調べて、各シェルで Enter キーを押します)。