Tutoriales

Cómo encontrar el ID del proceso principal en Linux: una guía paso a paso

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:

  1. proceso específico: Encuentra el PPID de un programa específico que te interese.
  2. Todos los procesos: Descubra el PPID de cada proceso en ejecución en el sistema.
  3. 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 bashusarí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.

Muestra el ID del proceso principal (PPID) de un proceso determinado.

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 86631para 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
Imprime el PPID de todos los procesos.
Imprime el PPID de todos los procesos.

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.

LEER  Encuentre la lista de repositorios instalados desde la línea de comando en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba