回答:
最初に試すことは、ログインしているユーザーをログアウトさせることです。それらのシェルがすべての分岐を行うプロセスの親プロセスである可能性があり、それが問題を終了させる可能性があります。
それでもうまくいかない場合はkill -STOP -2
、rootとして実行して、root以外のユーザーとして実行されているすべてのプロセスをフリーズしてみてください。それが機能する場合はkill -CONT <pid>
、フォーク爆弾とは関係のない既知のプロセスをフリーズ解除してそれらを強制終了し、プロセステーブルの問題を完全に排除して、問題の元の原因を突き止めて強制終了するための余裕を与えます。Sendmailは、.pidファイルを使用してpidを識別することで簡単に識別できるため、強制終了するシステムプロセスの良い例です。たとえば、kill -CONT $(< /var/run/sendmail.pid); kill $(< /var/run/sendmail.pid)
。
0
と-1
に応じて、opengroup.org/onlinepubs/009695399/functions/kill.html opengroup.org/onlinepubs/000095399/utilities/kill.html
スポーンにkill
は使用可能なプロセスハンドルが必要になるため、STOPシグナルを送信する方法もわかりません。その上、私の経験では、システムは過負荷になり、プロセスが不足するずっと前に使用できなくなります。
単純にユーザーごとのプロセス制限を実施することを検討しましたulimit
か?これにより、ユーザーがフォーク爆弾を発射するのを防ぐことができます(偶然)