#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
int main() {
int resultado, pid, ppid;
resultado = fork();
if (resultado < 0)
printf("Algo deu errado!!!\n"); pid = getpid();
if (resultado == 0) {
ppid = getppid();
printf("Eu sou o processo filho, meu PID é %d e meu pai tem PID=%d.\n", pid
, ppid
); }
if (resultado > 0) {
printf("Eu sou o processo pai, meu PID é %d e meu filho tem PID=%d.\n", pid
, resultado
); waitpid(resultado, NULL, 0);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy93YWl0Lmg+CgppbnQgbWFpbigpIHsKaW50IHJlc3VsdGFkbywgcGlkLCBwcGlkOwpyZXN1bHRhZG8gPSBmb3JrKCk7CmlmIChyZXN1bHRhZG8gPCAwKQpwcmludGYoIkFsZ28gZGV1IGVycmFkbyEhIVxuIik7CnBpZCA9IGdldHBpZCgpOwppZiAocmVzdWx0YWRvID09IDApIHsKcHBpZCA9IGdldHBwaWQoKTsKcHJpbnRmKCJFdSBzb3UgbyBwcm9jZXNzbyBmaWxobywgbWV1IFBJRCDDqSAlZCBlIG1ldSBwYWkgdGVtIFBJRD0lZC5cbiIsIHBpZCwgcHBpZCk7Cn0KaWYgKHJlc3VsdGFkbyA+IDApIHsKcHJpbnRmKCJFdSBzb3UgbyBwcm9jZXNzbyBwYWksIG1ldSBQSUQgw6kgJWQgZSBtZXUgZmlsaG8gdGVtIFBJRD0lZC5cbiIsIHBpZCwgcmVzdWx0YWRvKTsKd2FpdHBpZChyZXN1bHRhZG8sIE5VTEwsIDApOwp9Cn0=