child.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(void)
{
printf( "PID = %d\n", getpid() );
printf( "PPID = %d\n", getppid() );
return 0;
}
Parent.c
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
char command[256]="./child";
int main(void)
{
printf( "Parent-PID = %d\n", getpid() );
printf( "Parent-PPID = %d\n", getppid() );
execlp( command, NULL );
printf( " Parent process return \n");
}
/*
# ./Parent
Parent-PID = 26012
Parent-PPID = 25427
PID = 26012
PPID = 25427
*/