Respuesta :

Answer:

//same program different code

#include<stdio.h>

#include<unistd.h>

#include<stdlib.h>

int main()

{

   int pid;

   pid=fork();

   if(pid<0)

   {

       printf("\n Error ");

       exit(1);

   }

   else if(pid==0)

   {

       printf("\n Hello I am the child process ");

       printf("\n My pid is %d ",getpid());

       exit(0);

   }

   else

   {

       printf("\n Hello I am the parent process ");

       printf("\n My actual pid is %d \n ",getpid());

       exit(1);

   }

}

Explanation:

Following are the program to the given question:

Program Explanation:

  • Include header file.
  • Defining the main method.
  • Defining an integer variable "n, i", after defining this use "n" to the input value.
  • In the next step, a loop is declared that uses if block that checks fork value equal to 0, in which it calls the sleep method and prints its value.
  • At the last, it calls the wait method.  

Program:

#include<stdio.h>//header file

#include<sys/types.h>

#include<sys/wait.h>

#include<unistd.h>

int main()//defining the main method

{

   int n,i;//defining an integer variable

   printf("Enter the number of child to be created:"); //print message

   scanf("%d", &n);//input value in n

   for(i=0;i<n;i++) // defining a loop that use if block with the frok method to print value  

   {

       if(fork() == 0)//use if that check fork method value equal to 0

       {

           sleep(3);//calling sleep method

           printf("[child] pid %d from [parent] pid %d\n",getpid(),getppid());//print message

       }

   }

   wait(NULL);//calling wait method

   return 0;

}

Output:

Please find the attached file.

Learn more:

brainly.com/question/17925458

Ver imagen codiepienagoya
ACCESS MORE