¿Todos los subprocesos de un proceso específico comparten el mismo estado (D, R, S,...) o puede haber diferencias entre estos subprocesos?
Si es así, ¿dónde /proc
encuentro información sobre el estado de un determinado hilo? Estoy leyendo el estado del proceso de los /proc/<PID>/status
archivos en este momento.
Respuesta1
Ciertamente, diferentes subprocesos pueden estar en un estado de programador diferente al mismo tiempo. De hecho, si están todos en el mismo estado, es una coincidencia (excepto detenido (Z), porque eso afecta a todo el proceso).
El subdirectorio contiene un subdirectorio por subproceso del proceso. Los archivos de este directorio son en su mayoría los mismos que los del directorio por proceso. Parte de la información simplemente está duplicada (por ejemplo, información relacionada con la memoria, entorno, privilegios, etc.). La información específica de un subproceso, como el estado del programador (en ejecución/en espera/IO/…), puede diferir./proc/PID/task
Respuesta2
Puede utilizar ps
el comando para conocer el estado de todos los subprocesos de un proceso:
ps H -p 27901
Esto mostrará todos los hilos relacionados con el proceso 27901 y su estado.