Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A child process is the creation of a parent process, which can be defined as the main process that creates child or subprocesses to perform certain operations. Each process can have many child processes but only one parent. A child process inherits most of its parent's attributes.
A parent process can create multiple child processes. If a process does not have a parent, it is assumed to be created directly by the kernel.
In systems such as Unix and Linux, the first process, "init", is created by the kernel at boot time and never terminated as long as the system is running. Other parentless processes may be launched to perform different daemon tasks.
In some situations, a child process is orphaned when its parent dies. The orphaned child process is then shortly adopted by the init process.
However in Unix, a child process created using the fork system call is generally a clone of the original parent process. After forking a child process, both the parent and the child continue to run their own way. In Windows, when a new process is created by one of the CreateProcess family of functions, a new process handle is returned. This handle is then created with full access rights and is subject to security access checking. The process handle can be inherited by a child process based on the inheritance flag specified during creation.
When a child process is created, it is associated with a unique process ID number. The lifetime of a process ends when a termination signal is reported to the parent process, resulting in the release of the process ID and resources.