/* main program illustrating the UNIX fork() system call.
Compile using cc -o main main.c
*/
#include <stdio.h>
main() {
int fork(), value;
int childpid[4];
for(int i=0;i<4;i++){
childpid[i] = fork();
if(childpid == -1) {
}
else if(childpid[i] == 0) {
printf("child: my_process_id= %d,parent_process_id=%d\n", getpid
(), getppid
()); }
else {
printf("i = %d \nParent: my_process_id=%d,my_child’s_process_id=%d\n",i
, getpid
(), childpid
); continue;
}
}
}
LyogICAgbWFpbiBwcm9ncmFtIGlsbHVzdHJhdGluZyB0aGUgVU5JWCBmb3JrKCkgc3lzdGVtIGNhbGwuIApDb21waWxlIHVzaW5nIGNjIC1vIG1haW4gbWFpbi5jCiovCiNpbmNsdWRlIDxzdGRpby5oPgptYWluKCkgewppbnQgZm9yaygpLCB2YWx1ZTsKaW50IGNoaWxkcGlkWzRdOwoKZm9yKGludCBpPTA7aTw0O2krKyl7CmNoaWxkcGlkW2ldID0gZm9yaygpOwoKaWYoY2hpbGRwaWQgPT0gLTEpIHsKCXBlcnJvcigiY2Fu4oCZdCBmb3JrLiBIZWxwISEiKTsKCWV4aXQoLTEpOwoJfSAKCiBlbHNlIGlmKGNoaWxkcGlkW2ldID09IDApIHsKCXByaW50ZigiY2hpbGQ6IG15X3Byb2Nlc3NfaWQ9ICVkLHBhcmVudF9wcm9jZXNzX2lkPSVkXG4iLCBnZXRwaWQoKSwgZ2V0cHBpZCgpKTsKfSAKCgllbHNlIHsKCQlwcmludGYoImkgPSAlZCBcblBhcmVudDogbXlfcHJvY2Vzc19pZD0lZCxteV9jaGlsZOKAmXNfcHJvY2Vzc19pZD0lZFxuIixpLCBnZXRwaWQoKSwgY2hpbGRwaWQpOwoJCWNvbnRpbnVlOwoJCX0KCX0KfSAK
i = 0
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 1
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 2
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 3
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 0
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 1
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 2
Parent: my_process_id=30397,my_child’s_process_id=122122528
child: my_process_id= 30403,parent_process_id=1
i = 0
Parent: my_process_id=30397,my_child’s_process_id=122122528
i = 1
Parent: my_process_id=30397,my_child’s_process_id=122122528
child: my_process_id= 30402,parent_process_id=1
i = 3
Parent: my_process_id=30402,my_child’s_process_id=122122528