#include <stdlib.h>
#include <unistd.h>
int main()
{
while(1)
fork();
}
Ceci est le code d'une bombe à fourche.
Dans notre université, nous nous connectons via telnet, c'est-à-dire le protocole de service client. Une centaine de systèmes sont connectés au serveur. Soudain, nous avons vu le serveur devenir lent et, après un certain temps, il s'est écrasé. J'ai appris que sombody avait mis en place une bombe à fourche.
Comment détecter sur quel système la bombe à fourche est implémentée? Et comment pouvons-nous l'arrêter?
Une méthode consiste à limiter le nombre maximal de processus qu'un seul utilisateur peut posséder. Existe-t-il une méthode pour l'arrêter et savoir à partir de quel système il a été mis en œuvre?