¿Cómo mato un hilo del núcleo? ¿Y realmente quiero hacerlo?

8

Como aprendí de esta pregunta , los [bracketed]procesos enumerados por el ps auxcomando son hilos de kernel. Entonces, ¿hay alguna manera de matarlos desde la línea de comandos? Si no es así, supongo que la razón es para salvar al usuario de un mayor riesgo de pánico en el núcleo, ¿verdad?

matemáticas
fuente

Respuestas:

9

No puede eliminar subprocesos del kernel ni ningún proceso que esté bloqueado en el estado D, porque las señales solo se entregan cuando el kernel vuelve al modo de usuario. Además de la limitación técnica de la entrega de la señal, matar un hilo en el medio del código del kernel dañaría el sistema ya que el código del kernel puede contener un recurso importante en ese momento, como un bloqueo de giro o mutex, y matarlo evitaría que recursos de ser liberados.

Si tiene un proceso que está atascado en el estado D por un período prolongado de tiempo, entonces tiene un error de kernel. Consulte https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies para obtener consejos sobre cómo informarlo.

psusi
fuente
2

Los hilos del kernel son hilos necesarios creados por su Kernel para administrar su sistema.

No todos son necesarios, pero todos (la mayoría) son beneficiosos y, en su mayoría, no requieren recursos adicionales, no hay ninguna razón por la que uno, en condiciones normales, piense en matar un hilo Kernel.

Linux Kernel puede crear y destruir esos hilos cuando sea necesario, no debe preocuparse por ellos y matar en la mayoría de las circunstancias no es algo que pueda hacer.

Bruno Pereira
fuente
¿Qué sucede si tengo un subproceso que está en suspensión ininterrumpida que bloquea un recurso del sistema como un dispositivo montado con soporte u otro hardware, que quiero liberar al matar el subproceso?
matemáticas
1
Presente un error en su contra si cree que es útil (y no un problema técnico con su sistema) y espera que se solucione pronto.
Bruno Pereira
Intentaría averiguar qué está mal con el montaje antes de decidir que matar hilos del núcleo era la solución.
Bruno Pereira
No soy un hacker del kernel sino usuario de ciertos controladores de kernel. Por supuesto, debería hacer un informe de error si algún dispositivo no funciona correctamente, pero tengo que esperar al menos medio año, por lo que el próximo ubuntu trae esta corrección de error. Creo que es un escenario válido y el kernel de Linux debería tener la posibilidad de abortar una determinada acción y liberar recursos (si los hubiera).
Matemáticas
no entiende que lo más probable es que el subproceso del núcleo se haya iniciado por otro proceso, por lo que probablemente no haya nada de malo en ese subproceso del núcleo, excepto que el proceso que comenzó olvidó cerrarlo. Entiendo lo que estás diciendo, pero no creo que sea recomendable matar los hilos del núcleo.
Bruno Pereira