Índice

Árbol de procesos y PID

Todo proceso se identifica por un número único, el PID (Process IDentifier); el núcleo utiliza una tabla de procesos para la gestión de las tareas.

Dos primitivas del núcleo Linux permiten crear procesos: fork y exec (estas primitivas programables pueden llamarse desde un lenguaje como el C). La primera permite que un proceso cree un clon de sí mismo, la segunda la usa ese clon para ejecutar el código de otro programa en su lugar. De ello resulta una filiación entre procesos; así, se habla de procesos hijos y de procesos padres.

Todo proceso tiene, pues, obligatoriamente un padre, salvo el primer proceso del sistema: init para las distribuciones que se inician siempre según el método SysV, o systemd en la mayoría de las distribuciones recientes. Cualquiera de los dos son el antecesor de todos los procesos del sistema y su PID es 1.

El PID asignado a un proceso lo da el núcleo de Linux al iniciar el programa. No existe forma de predecir este número.