waitpid c code example
Example 1: c waitpid
#include <sys/types.h>
#include <sys/wait.h>
pid_t wait(int *status);
pid_t waitpid(pid_t pid, int *status, int options);
Example 2: example code of waitpid
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/wait.h>
#include <string.h>
int main(){
int pid;
int status;
pid =fork();
if(pid<0){
printf("Error");
}
else if(pid==0){
// Child Process
for(int i=0;i<100;i++){
value-=1;
printf("%d \n",value);
}
exit(EXIT_SUCCESS);
}
waitpid(pid,&status,0); // WAIT till child gets over
// Parent process
for(int i=0;i<100;i++){
value-=1;
printf("%d \n",value);
}
printingFunction();
if (WIFSIGNALED(status)){
printf("Error\n");
}
else if (WEXITSTATUS(status)){
printf("Exited Normally\n");
}
return 0;
}
}