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]
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]