Il fait quoi ce code ?

Hello,
J’ai ce bout de code qui augmente la charge CPU d’un ordinateur… Mais comment l’expliquer devant des profs ^^
Je ne vois pas du tout ce que fait la fonction fork()… et tout le reste…

Merci de votre aide d’avance ^^

[code]#!/usr/bin/perl

modifier le dernier chiffre pour le nombre de processeur

foreach $i (1…7) {
$pid = fork();
last if $pid == 0;
print “Created PID $pid\n”;
}
while (1) {
$x++;
} [/code]

Du perl !!!

Pour la peine rien à faire que ce soit pour corriger un exercice, je réponds.

Ton code va créer 7 processus, qui vont chacun incrémenter un entier indéfiniment.

fork duplique le processus courant (il crée un processus fils qui est l’exacte copie du père mis à part son identifiant et l’identifiant de son père). fork renvoie toujours le pid du fils (donc 0 si on est dans le fils). L’instruction last évite de créer 7! processus.

Après moi je l’aurais plutôt écris ainsi :

[code]#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

modifier le dernier chiffre pour le nombre de processeur

foreach (1…7) {
my $pid = fork();
last if !$pid;
say 'Created PID '.$pid;
}
my $x = 0;
while (1) {
$x++;
}[/code]

Merci. au final je sais ce qu’il fait , mais je n’ai pas eu à l’expliquer ^^