#include<stdio.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
#include<stdlib.h>
int main( )
{
int child= fork( ) ;
int exitStatus; //0 if success
int childPid;
if ( child== 0 )
{
printf ( "child: iam running\n " ) ; printf ( "child: i have PD :%d\n " , getpid
( ) ) ; //return the process id sleep( 4 ) ;
} //code for child process
else
{
printf ( "Parent : iam running and waiting for child to finish\n " ) ; childPid= wait( & exitStatus) ;
printf ( "parent : Child finished execution,it had the PID:%d,Exit Status%d\n " , childPid
, WEXITSTATUS
( exitStatus
) ) ; }
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3lzL3R5cGVzLmg+CiNpbmNsdWRlPHN5cy93YWl0Lmg+CiNpbmNsdWRlPHVuaXN0ZC5oPgojaW5jbHVkZTxzdGRsaWIuaD4KCmludCBtYWluKCkKewogIGludCBjaGlsZD1mb3JrKCk7CiAgaW50IGV4aXRTdGF0dXM7Ly8wIGlmIHN1Y2Nlc3MKICBpbnQgY2hpbGRQaWQ7CiAgaWYoY2hpbGQ9PTApCiAgewogICAgcHJpbnRmKCJjaGlsZDogaWFtIHJ1bm5pbmdcbiIpOwogICAgcHJpbnRmKCJjaGlsZDogaSBoYXZlIFBEIDolZFxuIixnZXRwaWQoKSk7Ly9yZXR1cm4gdGhlIHByb2Nlc3MgaWQKICAgIHNsZWVwKDQpOwogICAgZXhpdCgxMDApOwogIH0vL2NvZGUgZm9yIGNoaWxkIHByb2Nlc3MKICBlbHNlCiAgewogICAgcHJpbnRmKCJQYXJlbnQgOiBpYW0gcnVubmluZyBhbmQgd2FpdGluZyBmb3IgY2hpbGQgdG8gZmluaXNoXG4iKTsKICAgIGNoaWxkUGlkPXdhaXQoJmV4aXRTdGF0dXMpOwogICAgcHJpbnRmKCJwYXJlbnQgOiBDaGlsZCBmaW5pc2hlZCBleGVjdXRpb24saXQgaGFkIHRoZSBQSUQ6JWQsRXhpdCBTdGF0dXMlZFxuIixjaGlsZFBpZCxXRVhJVFNUQVRVUyhleGl0U3RhdHVzKSk7CiAgIH0KICAgcmV0dXJuIDA7CiAgfQ==