Tested on ubuntu,Linux#include stdio.h #include string.h.pdf
1. //Tested on ubuntu,Linux
#include
#include
#include
#include //for getpid()
#include //for wait
/*Main function start*/
void main(int argc, char *argv[])
{
pid_t pid;//storing process id
int i;
int status = 0;
/*Start for loop*/
for (i = 1; i < argc; i++)
{
pid=fork();//forking process
if (pid == 0)// child process
{
/*Printing file name and process Id*/
printf("Filename: %s PID: %d ",argv[i],getpid());
return;
}else{
pid = wait(&status);//waiting for child process to complete
}
}/*End for loop*/
printf("done! ");
}
/*Main function End*/
/************output**************/
gopal@gopal:~/Desktop/chegg$ gcc fork.c -o program2
gopal@gopal:~/Desktop/chegg$ ./program2 *.c
Filename: Calculator.c PID: 22742
Filename: char2dArray.c PID: 22743
Filename: client.c PID: 22744
Filename: commandLine.c PID: 22745