Quindi ho il codice qui, e mi aspettavo che eseguisse rigorosamente ls -l 5 volte, ma sembra che funzioni molto più volte. Cosa sto facendo di sbagliato qui? Voglio eseguire ls 5 volte, quindi forzo 5 volte. Forse non capisco il concetto di aspettare correttamente? Sono andato oltre una tonnellata di tutorial, e nessuno sembra affrontare più processi utilizzando a fondo la forcella.Perché sto biforcando più di 5 volte qui?
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
int main()
{
pid_t pidChilds[5];
int i =0;
for(i = 0; i<5; i++)
{
pid_t cpid = fork();
if(cpid<0)
printf("\n FORKED FAILED");
if(cpid==0)
printf("FORK SUCCESSFUL");
pidChilds[i]=cpid;
}
}
Suggerimento: se cpid == 0, pensi che ci sia qualcos'altro che hai dimenticato di fare? –
@NicholasWilson Non che io possa pensare. :(Che cosa sto sbagliando? – NoNameY0
Forkbomb, ftw!: D – Carsten