Problem 1: Without Wait?

Below it is a typical problem to print something in child.

/* Wait/problematic.c */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>


int main(int argc,char *argv[])
{
    printf("Before fork...\n");
    if(fork() == 0)
    {
        printf("Hello World!\n");
        exit(0);
    }
    printf("After fork..\n");
    return 0;
}

We expect the output to be:

Before fork...
Hello World!
After fork...

However, the actual output may become

We would like to suspend the parent and let the child finish execution.

Last updated

Was this helpful?