26 lines
701 B
C++
26 lines
701 B
C++
|
/* This program illustrates the death of the parent process before the child is terminated. */
|
||
|
/* The child process is now considered an orphan process since the parent is dead. */
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
int pid;
|
||
|
pid = fork();
|
||
|
if (pid == 0)
|
||
|
{
|
||
|
printf("I am the child, my ID is %d\n", getpid());
|
||
|
printf("I am the child, my parent is %d\n", getppid());
|
||
|
printf("The child will now sleep for 10 seconds\n");
|
||
|
sleep(10);
|
||
|
printf("I am the same child with ID %d, but my parent Id is %d\n", getpid(), getppid());
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
printf("I am the parent with ID %d. My parent is %d and my child is %d\n", getpid(), getppid(), pid);
|
||
|
sleep(5);
|
||
|
}
|
||
|
}
|