# Il fait quoi ce code ?

**URL:** <https://www.debian-fr.org/t/il-fait-quoi-ce-code/32984>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:39 UTC](https://www.debian-fr.org/t/il-fait-quoi-ce-code/32984 "2016-02-21T02:39:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 21, 2016, 2:39 UTC](https://www.debian-fr.org/t/il-fait-quoi-ce-code/32984/1 "2016-02-21T02:39:00Z")

</div>

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]

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:41 UTC](https://www.debian-fr.org/t/il-fait-quoi-ce-code/32984/2 "2016-02-21T02:41:59Z")

</div>

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]

---

<div class="post-metadata">

**Author:** ![hayou](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/h/e0b2c6/32.png) [@hayou](https://www.debian-fr.org/u/hayou)\
**Post date:** [Février 21, 2016, 2:42 UTC](https://www.debian-fr.org/t/il-fait-quoi-ce-code/32984/3 "2016-02-21T02:42:04Z")

</div>

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