Para Windows, creo que Process Explorer te muestra todos los hilos de un proceso.
¿Existe una utilidad de línea de comandos similar para Linux que pueda mostrarme detalles sobre todos los hilos que genera un proceso en particular?
Creo que debería haberme dejado más claro. No quiero ver la jerarquía del proceso, sino una lista de todos los hilos generados por un proceso en particular
Ver esta captura de pantalla
¿Cómo se puede lograr esto en Linux? ¡Gracias!
command-line
shell
process
Lazer
fuente
fuente
Respuestas:
La herramienta clásica
top
muestra los procesos por defecto, pero se le puede pedir que muestre hilos con laH
tecla presionada o la-H
opción de línea de comando. También hay htop , que es similartop
pero tiene desplazamiento y colores; muestra todos los subprocesos de forma predeterminada (pero esto se puede desactivar).ps
También tiene algunas opciones para mostrar hilos, especialmenteH
y-L
.También hay herramientas de GUI que pueden mostrar información sobre subprocesos, por ejemplo, qps (un simple envoltorio de GUI
ps
) o conky (un monitor de sistema con muchas opciones de configuración).Para cada proceso, hay mucha información disponible sobre
/proc/12345
dónde12345
está la ID del proceso. La información sobre cada subproceso está disponible en/proc/12345/task/67890
dónde67890
está la ID del subproceso del núcleo. Aquí es dondeps
,top
y otras herramientas de obtener su información.fuente
htop
no parece mostrarme los hilos. Mencionan laH
clave como una forma de cambiar entre mostrar y ocultar hilos, pero funciona como la clave de Ayuda aún ...h
para ayuda, mayúsculaH
para mostrar / ocultar hilos.Listado de hilos bajo Linux
Actual proporcionar respuestas
Me gustaría dejar en claro que cada respuesta aquí le proporciona exactamente lo que ha especificado, una lista de todos los hilos asociados con un proceso, esto puede no ser obvio
htop
ya que, de forma predeterminada, enumera todos los hilos en el sistema, no solo el proceso, sino quetop -H -p <pid>
funciona mejor, por ejemplo:Como nota al margen, el hilo con
-90
es en realidad un hilo en tiempo real.pero
También hay otra opción que es verdadera CLI
ps -e -T | grep <application name or pid>
-e
muestra todos los procesos-T
enumera todos los hilos|
canaliza la salida al siguiente comandogrep
esto filtra los contenidosAquí hay un ejemplo:
Cada uno de estos tiene el mismo PID para que sepa que están en el mismo proceso.
fuente
sed
lugar degrep
puede preservar el título con un código trivial:ps -e -T | sed -n '1p; /clementine/p;'
htop , una versión maldita de top, tiene una opción de visualización para mostrar todos los hilos de cada proceso en una vista de árbol. Comenzar
htop
y presionar F5resultará en:fuente
Puedes intentar usar:
Por ejemplo:
Cada hilo tiene su propio PID.
fuente
Las dos herramientas estándar para mostrar información de proceso son
ps
ytop
(yhtop
que es similar / mejorada ).Notas:
ps -m
,ps m
,ps H
...)Vista en tiempo real de todo o proceso, usando
top -H
Vista instantánea de todos los procesos y subprocesos, utilizando
ps -eLf
Subprocesos de información de un proceso, utilizando
ps -T
(nota: use cualquiera de las opciones
-C command
o-p PID
para seleccionar el proceso)Detalles de información de subprocesos de un proceso, utilizando
ps
fuente
Puedes intentarlo
top -H -p <pid>
.Pero tenga en cuenta que en algunos sabores de Unix, la opción '-H' no está disponible en el
top
comando.fuente
-H
; Linux usa herramientas GNU (incluidasps
) y UNIX no. (Esto es, por supuesto, una generalización ...)Esto mostrará subprocesos como procesos. Recuerde también que todos los subprocesos de un subproceso múltiple deben tener el mismo PID. Linux hace esto haciendo grupos de hilos. El primer subproceso es el líder del grupo y su PID será tgid (thread groupID) del grupo de subprocesos.
Puede averiguar el PID real y el estado de los hilos utilizando el sistema de archivos / proc. Otra forma de lograr esto es verificar el PID usando ps, luego ejecutar el siguiente comando:
Luego verifique más pids / tgid de hilos y ejecute el siguiente comando:
fuente
Esto le mostrará una lista de los hilos asociados con su proceso (es decir, process_id) [Usado en Ubuntu. Existe la posibilidad de que la opción -H no esté disponible en algunos de los sabores de Linux]
fuente
El comando anterior muestra el número de subprocesos en ejecución para un proceso específico pid if para un proceso java
fuente
Estaba buscando lo mismo y pude encontrar el siguiente script bash.
Esto todavía está en progreso, lo actualizaré a medida que mejore el script.
No soy un experto en Unix, estoy seguro de que algún experto puede escribirlo en 2 líneas, con una mejor calidad, pero mi intención es proporcionar una solución de trabajo para otros.
actualizar con información de filtro y proceso
fuente