Linux Comprobar cuántos hilos tiene un proceso
Los subprocesos son una abstracción de programación popular para la ejecución paralela en los sistemas operativos modernos. Cuando se bifurcan varios subprocesos en un programa para ejecutar múltiples flujos, estos subprocesos comparten recursos específicos (como espacio de direcciones de memoria, archivos abiertos) entre sí, y minimizan la sobrecarga de la bifurcación y evitan IPC (comunicación entre procesos) grande y costosa. canales. Estas características hacen de los hilos un mecanismo eficiente para la ejecución concurrente
.
En Linux, los subprocesos creados en un programa (también llamados procesos ligeros, LWP) reciben el mismo "ID de grupo de subprocesos" que el PID del programa. Luego, al subproceso individual se le asigna su propio ID de subproceso (TID). Para el programador del kernel de Linux, los subprocesos no son más que procesos estándar que tienen acceso a recursos específicos. Las herramientas de línea de comando clásicas como ps o top se pueden usar para mostrar información a nivel de subproceso, pero muestran información a nivel de proceso de forma predeterminada.
Aquí hay varias formas de mostrar subprocesos de proceso en Linux.
Método 1: PS
En el comando ps, la opción "-T" activará la función de visualización de hilos. El siguiente comando enumera todos los subprocesos creados por el proceso con el número de proceso lt;pidgt;.
1.$ ps -T -p lt;pidgt;
La columna "SID" representa el ID del hilo y la columna "CMD" muestra el nombre del hilo.
Método 2: top
El comando top muestra un único hilo en tiempo real. Para activar el modo de visualización de subprocesos en la salida superior, invoque la opción "-H" del comando superior, que enumera todos los subprocesos de Linux. También puedes alternar el modo de vista de hilo presionando la tecla "H" mientras se ejecuta top.
1. $ top -H
Para hacer que la salida superior sea lt; de un proceso específico y ver el estado de los subprocesos que se ejecutan en el proceso:
$ top -H -p lt; pidgt;
Método 3: Htop
Una forma más amigable de ver los subprocesos de un solo proceso es usar htop para ver los subprocesos. Ver subprocesos para un solo proceso es un visor de procesos interactivo basado en ncurses. El programa le permite monitorear subprocesos independientes individuales en una vista de árbol.
Para habilitar la visualización de hilos en htop, abra htop y presione Ahora verás una vista del hilo de un único proceso, como se muestra a continuación