El comando pstree de GNU/Linux permite ver al árbol de procesos del sistema, sin embargo, antes que todo, habría que hacer una breve introducción teórica.
El proceso de arranque init en GNU/Linux es el primer proceso que se ejecuta en el sistema, además de ser el más importante, y de quien dependen el resto de los procesos. Es el kernel quien cede el control al init. A partir de init donde se crean los primeros procesos hijos, y a su vez estos ejecutan otros procesos, obteniéndose un árbol de procesos.
Init, lee el archivo /etc/ttytab para ver cuantas terminales hay, y mediante fork crea un proceso hijo para cada terminal. Cada proceso hijo ejecuta getty, que es quien imprime el prompt del login y obtiene el nombre de usuario. Cuando el usuario entra al sistema, se ejecuta login con el nombre como argumento y se ejecuta el Shell de ese usuario. El shell del usuario se especifica en el /etc/passwd, generalmente sh. El Shell espera por un comando y luego lanza un FORK y un EXEC por cada comando.
Es así, que el shell es hijo del init, los procesos de usuario los nietos, y todos los procesos forman parte de un mismo árbol.
En los sistemas operativos GNU Linux, para visualizar ese arbol podemos hacerlo a través del comando pstree. Por ejemplo, ejecutamos pstree -pl, donde los argumentos p y l, respectivamente muestran los pid de los procesos y no truncan líneas largas, podemos obtener algo como el siguiente fragmento:
Otra alternativa, es utilizar el clásico ps, especificando el argumento --forest. Por ejemplo, ps axl --forest:
3 Respuestas para "Arbol de procesos en Linux"
Me parece muy clara la explicación. Lo único es que cambies el antes que nada por antes que todo.
“Antes de nada hay nada”
Gracias por comentar y gracias por tu corrección gramatical.
Saludos.
Luciano, que sepas que estaba bien escrito “antes que nada”, eso de “antes que todo” no lo he oído en mi vida. Un saludo!
Comentarios: