Fork() Fork()

Fork() - Definition and Overview

Related Words: V, Affluent, Angle, Apex, Bail, Bayou, Bend, Bifurcation, Bight, Billabong, Bine, Bisect, Bowl, Branch, Bucket, Cant, Cast, Catapult, Chevron
The title given to this article is incorrect due to technical limitations. The correct title is "fork".

A fork, when applied to computing is when a process creates a copy of itself, which then acts as a "child" of the original process, now called the "parent". More generally, a fork in a multithreading environment means that a thread of execution is duplicated.

Under Unix and Unix-like operating systems, the parent and the child operations are selected by use of the return value of fork().

Example

Here is some sample C programming language code to illustrate the idea of forking. The code that is in the "Child process" and "Parent process" sections are executed simultaneously.

   int i, pid;
   pid = fork();
   if(pid == 0)
   {
      /* Child process:
       * When fork() returns 0, we are in
       * the child process.
       * Here we count up to ten, one each second.
       */
      int j;
      for(j=0; j < 10; j++)
      {
         printf("child: %d\n", j);
         sleep(1);
      }
      _exit(0); /* Note that we do not use exit() */
   }
   else if(pid > 0)
   { 
      /* Parent process:
       * Otherwise, we are in the parent process.
       * Again we count up to ten.
       */
      int i;
      for(i=0; i < 10; i++)
      {
         printf("parent: %d\n", i);
         sleep(1);
      }
   }
   else
   {   
      /* Error handling. */
      fprintf(stderr, "couldn't fork");
      exit(1);
   }

This code will print out the following:

 parent: 0
 child: 0
 child: 1
 parent: 1
 parent: 2
 child: 2
 child: 3
 parent: 3
 parent: 4
 child: 4
 child: 5
 parent: 5
 parent: 6
 child: 6
 child: 7
 parent: 7
 parent: 8
 child: 8
 child: 9
 parent: 9

The order of each output is determined by the kernel.

See also

Example Usage of Fork()

godcmplx: Photo: (via thelaceddoll) yeah i need to come to this fork in the road, yesterday http://tumblr.com/xat4c23j9
ihavenogreendog: Griffin's latest: What did Obi-Wan Kenobi say to Luke Skywalker at breakfast? Use the fork, Luke!
FMFphotography: I PUTS PORK ON MY FORK
Copyright 2009 WordIQ.com - Privacy Policy  :: Terms of Use  :: Contact Us  :: About Us
This article is licensed under the GNU Free Documentation License. It uses material from the this Wikipedia article.