answersLogoWhite

0

Fork() is a concept that originated in the UNIX world. Running programs are called processes, and the only way to execute a new program is for a current program to fork() itself, thereby creating a separate process. The process that called fork() is known as the parent process, and the newly created process is known as the child process. The child process, which begins its life as a copy of the parent process, can be "replaced".

In UNIX, the first program that is executed after booting finishes is the init process. This process will fork() and load the getty program over the child process, thereby creating a process which will prompt the user for a password.

Since a call to fork() creates a child process which is in essence the same as the parent process, it is necessary to determine (from within the process) which process is the child, and which is the parent. Upon successful execution, the fork() call returns the child's Process ID in the parent process, and a 0 in the child process. You can then use the child to execute a system call, such as running another program (or whatever you needed a second process for).

If you are using pipes (for communication between the child and parent process), make sure you have the parent wait for it.

---

In open source programming, a fork is a separate project that starts as a copy of another one. If the developers have it out with one another, or a developer wants to take the project in a different direction, then they copy the source code to a new repository and work on it there, completely separate from the original project.

User Avatar

Wiki User

8y ago

Still curious? Ask our experts.

Chat with our AI personalities

DevinDevin
I've poured enough drinks to know that people don't always want advice—they just want to talk.
Chat with Devin
FranFran
I've made my fair share of mistakes, and if I can help you avoid a few, I'd sure like to try.
Chat with Fran
RafaRafa
There's no fun in playing it safe. Why not try something a little unhinged?
Chat with Rafa

Add your answer:

Earn +20 pts
Q: What is a fork in computer programming?
Write your answer...
Submit
Still have questions?
magnify glass
imp