#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main( ) {
pid_t pid, mypid, myppid;
pid= getpid( ) ;
printf ( " before fork processs id is%d\n " , pid
) ; pid = fork( ) ;
if ( pid< 0 ) {
mypid= getpid( ) ;
myppid= getppid( ) ;
printf ( "process id is%d and ppid is%d\n " , mypid
, myppid
) ; }
else {
sleep( 2 ) ;
printf ( "this is parrent process \n " ) ; mypid= getpid( ) ;
myppid = getppid( ) ;
printf ( "process id sis%d and ppid is%d \n " , mypid
, myppid
) ; printf ( "new created process id or child id is %d \n " , pid
) ; }
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3lzL3R5cGVzLmg+CiNpbmNsdWRlPHVuaXN0ZC5oPgppbnQgbWFpbigpewoJcGlkX3QgcGlkLG15cGlkLG15cHBpZDsKCXBpZD1nZXRwaWQoKTsKCXByaW50ZigiIGJlZm9yZSBmb3JrIHByb2Nlc3NzIGlkIGlzJWRcbiIscGlkKTsKCXBpZCA9IGZvcmsoKTsKCWlmKHBpZDwwKXsKCQlteXBpZD1nZXRwaWQoKTsKCQlteXBwaWQ9Z2V0cHBpZCgpOwoJCXByaW50ZigicHJvY2VzcyBpZCBpcyVkIGFuZCBwcGlkIGlzJWRcbiIsbXlwaWQsbXlwcGlkKTsKCX0KCWVsc2V7CgkJc2xlZXAoMik7CgkJcHJpbnRmKCJ0aGlzIGlzIHBhcnJlbnQgcHJvY2VzcyBcbiIpOwoJCW15cGlkPWdldHBpZCgpOwoJCW15cHBpZCA9IGdldHBwaWQoKTsKCQlwcmludGYoInByb2Nlc3MgaWQgc2lzJWQgYW5kIHBwaWQgaXMlZCBcbiIsbXlwaWQsbXlwcGlkKTsKCQlwcmludGYoIm5ldyBjcmVhdGVkIHByb2Nlc3MgaWQgb3IgY2hpbGQgaWQgaXMgJWQgXG4gIixwaWQpOwoJfQoJcmV0dXJuIDA7Cn0=