Process is a program in execution. Process execution must progress in sequential fashion. A process includes program counter, stack, and data section. In UNIX, a process is created by fork() system call. Below is the main fork() program based on C language.
[sourcecode language=’cpp’]
int main()
{
pid_t pid = fork();
if (pid < 0)
{
/*error occured*/
fprintf(stderr,"error forking childn");
exit(-1);
}
else if (pid == 0)
{
/*child process*/
/* put your application here*/
exit(0);
}
else
{
/*parent process*/
int status;
/*wait for child process to complete*/
/*when child process has been completed, */
/*it will return status 0 */
wait(&status);
exit(0);
}
}
[/sourcecode]
You may download a sample application to count fibonacci sequence that uses fork() system call, 3.5_fork.zip.