8
Jeśli po nazwie fork()
program powinien być kontynuowany od pierwszej instrukcji następującej po rozwidleniu, dlaczego słowo START zostanie wydrukowane dwa razy?Dlaczego printf(), który poprzedza fork() zostanie wykonany nawet po fork()?
#include<stdio.h>
#include<unistd.h>
int main(){
int pid;
printf("START...");
pid = fork();
printf("%d: I've got %d\n", getpid(), pid);
return 0;
}
Na przykład możliwe jest wyjście:
START ... 605: Mam 606
START ... 606: Mam 0
Możesz również dodać znak nowej linii ("\ n") na końcu łańcucha, a bufor powinien zostać przepłukany. – ciamej
@ciamej Tak, jednak da to (nieco) inne wyniki. – trojanfoe
@SergeyA Nie wiedziałem, że to dupek. Dlaczego nie zadałeś tego samego pytania o dasblinkenlight? – trojanfoe