
Este tutorial le mostrará cómo Encuentre el ID del proceso principal (PPID) Procesos usando la línea de comando ps
y pstree
Instrucciones y ejemplos en sistemas operativos tipo Linux y Unix.
Esta guía explica cómo descubrir los siguientes PPID:
- proceso específico: Encuentra el PPID de un programa específico que te interese.
- Todos los procesos: Descubra el PPID de cada proceso en ejecución en el sistema.
- Proceso actual: El PPID que identifica su propia sesión de shell.
Saber ID de proceso principal (PPID) Los detalles de los procesos en Linux son útiles en varios escenarios, especialmente para la administración del sistema, la resolución de problemas y la comprensión del comportamiento del sistema.
El ID de proceso principal (PPID) en Linux se puede utilizar para:
- Analizar la jerarquía de procesos Comprender el comportamiento de las aplicaciones y los servicios.
- Identificar procesos huérfanos Podría consumir recursos o comportarse de manera impredecible después de que finalice su proceso principal.
- Administrar árbol de procesoslo que permite la terminación dirigida de grupos de procesos relacionados.
- Depuración y desarrolloespecialmente para solucionar problemas y gestionar procesos secundarios en aplicaciones.
- análisis de seguridadpara ayudar a rastrear el origen de procesos sospechosos y comprender el comportamiento del malware.
- Monitoreo y optimización del desempeñoidentificando procesos intensivos en recursos y sus orígenes.
¡Empecemos!
1. Encuentre el ID de viaje principal (PPID) de un viaje específico en Linux
Hay varias formas de encontrar el ID del proceso principal (PID) de un proceso determinado en Linux desde la línea de comandos.Un enfoque común es utilizar ps
El comando representa el «estado del proceso».
Este comando muestra información sobre los procesos activos. Veamos cómo encontrar el PPID de un proceso. ps
Orden.
1. Abra la terminal: Primero, necesitas abrir una ventana de terminal.Puedes hacerlo buscando «terminal» en el menú de la aplicación o usando el acceso directo, que generalmente es Ctrl+Alt+T
.
2. Encuentre el PID de su proceso: Antes de poder encontrar el PID del proceso principal, necesita conocer el PID del proceso.Puedes encontrarlo usando ps
combinación de comandos grep
.
Por ejemplo, si está buscando el PID de un proceso llamado bash
usarías:
$ ps -aux | grep bash
Este comando enumera todos los procesos activos y luego filtra la lista para mostrar solo las líneas que contienen «bash». El resultado mostrará varias columnas; la segunda enumera el PID.
ostechn+ 86631 0.0 0.0 8184 5136 pts/0 Ss 17:55 0:00 bash ostechn+ 87430 0.0 0.0 6240 652 pts/0 S+ 18:00 0:00 grep bash
3. Mostrar el PID principal: Una vez que tenga el PID de un proceso, puede encontrar su PID principal (PPID) usando el siguiente comando: ps
Comandos con opciones específicas.
Como puede ver en el resultado del comando anterior, el PID del proceso bash es 86631.
Ahora puede mostrar el ID del proceso principal del proceso bash usando el siguiente comando:
$ ps -o ppid= -p 86631
aquí, -o ppid=
Decir ps
Muestra solo el PID principal del proceso, sin encabezados, y -p 86631
Especifique el PID del proceso que le interesa.reemplazar 86631
con el PID real de su proceso.
Según el resultado anterior, 86624 Es el ID del proceso principal (PPID) del proceso bash.
Este método es muy simple y funciona muy bien para encontrar el PID principal de un proceso determinado en Linux.Recuerde reemplazar bash
con el nombre del proceso real que le interesa y utilice el PID correcto que encontró en la búsqueda inicial.
2. Imprima el PPID de todos los procesos.
Si desea mostrar el PPID de todos los procesos en una máquina Linux, puede usar:
$ ps j
Salida de ejemplo:
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 86624 86631 86631 86631 pts/0 90712 Ss 1000 0:00 bash 86631 90712 90712 86631 pts/0 90712 R+ 1000 0:00 ps j
Como puede ver en el resultado anterior, ps j
El comando muestra el formato de control del trabajo, mostrando los PPID de todos los viajes y otros detalles. Esta es una forma rápida de obtener una instantánea de la jerarquía de sus procesos.
Según el resultado anterior, el PID del proceso bash es 86631 Su PPID es 86624.
Para ver el PPID de un proceso específico, simplemente incluya su PID, p.e. ps j 86631
para ver detalles, incluido su PPID.
$ ps j 86631 PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 86624 86631 86631 86631 pts/0 93681 Ss 1000 0:00 bash

Puede filtrar solo PPID usando awk
comando y excluya todos los demás detalles de la siguiente manera:
$ ps j | awk 'NR>1 {print $1}'
86624
86631
86631
Si está utilizando un sistema BSD (por ejemplo, macOS), utilice ps j | awk 'NR>1 {print $3}'
Enumere los PPID de todos los procesos.
3. Utilice el comando pstree para ver el PPID del proceso.
este pstree
El comando en Linux es una utilidad que muestra los procesos en ejecución como un árbol. Esta estructura de árbol representa visualmente la jerarquía de procesos, mostrando el proceso principal y sus procesos secundarios de forma anidada.
Esta vista jerárquica facilita la comprensión de las relaciones entre procesos, incluidos qué procesos son generados por otros procesos.
Para enumerar los PPID de un proceso determinado (por ejemplo, bash), utilice pstree
Comando, ejecute:
$ pstree -sg 86631
Este comando visualiza el árbol de procesos principal que conduce al proceso especificado (por ejemplo, 86631
), que es particularmente útil para comprender los ancestros del proceso en una vista jerárquica.
systemd(1)───systemd(1697)───gnome-terminal-(86624)───bash(86631)───pstree(94963)
4. Obtenga el PPID del proceso actual.
La categoría «Proceso actual» en el contexto de un sistema operativo Unix (como Linux) se refiere al proceso ejecutado actualmente por el shell o terminal que está utilizando.
Cada vez que ejecuta un comando en la terminal, el comando se ejecuta como un proceso. El shell en sí también es un proceso. Cuando pregunta «proceso actual», generalmente se refiere al proceso de shell que está ejecutando actualmente.
Cuando interactúa con un shell (como Bash, Zsh, etc.), se configuran automáticamente varias variables de entorno que proporcionan información sobre el shell y sus procesos.
En este caso, las dos variables importantes son:
$$
: Esta variable contiene el ID del proceso (PID) del shell actual. Le proporciona el PID del proceso que ejecuta la instancia de shell que está utilizando actualmente.$PPID
: Esta variable contiene el ID del proceso principal del shell (PPID). Le indica el PID del proceso que inició el shell actual. Por ejemplo, si abre una ventana de terminal desde un entorno de escritorio gráfico, el PPID puede ser el PID del proceso asociado con el entorno de escritorio o el administrador de ventanas.
Para ver el PID del shell actual, puede usar:
$ echo $$
Para ver el PID del proceso principal del shell actual, el comando es:
$ echo $PPID
Comprender estos conceptos es útil para tareas de gestión de procesos, secuencias de comandos y administración de sistemas.
en conclusión
En este tutorial, explicamos cómo obtener el ID del proceso principal (PPID) de un proceso específico, el PPID de todos los procesos y el PPID del proceso actual usando el siguiente comando: ps
y pstree
Comandos en Linux.
Comprender el ID del proceso principal (PPID) puede ayudarle a obtener información sobre la jerarquía y las relaciones entre los procesos en Linux. Este conocimiento ayuda con tareas como la resolución de problemas, la gestión de recursos y la mejora de la seguridad.