#include <stdlib.h>
#include <unistd.h>
int main()
{
while(1)
fork();
}
これはフォーク爆弾のコードです。
私たちの大学では、telnet、つまりクライアントサービスプロトコルを介して接続します。約100台のシステムがサーバーに接続されています。突然サーバーが遅くなり、しばらくしてからクラッシュしました。sombodyがフォーク爆弾を実装していることを知りました。
どのシステムでフォークボムが実装されているかをどのように検出できますか?そして、どうすればそれを止めることができますか?
1つの方法は、1人のユーザーが所有できるプロセスの最大数を制限することです。それを停止し、どのシステムから実装されているかを知る方法はありますか?