Sé que hay dos "niveles" de programas: espacio de usuario y espacio de kernel.
Mi pregunta es: quiero ver solo los programas del núcleo, o mejor: programas en el espacio del núcleo.
¿Es correcto este enfoque?
ps -ef|grep "\["
root 1 0 0 20:23 ? 00:00:00 init [4]
root 2 0 0 20:23 ? 00:00:00 [kthreadd]
root 3 2 0 20:23 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 20:23 ? 00:00:00 [kworker/0:0H]
root 7 2 0 20:23 ? 00:00:06 [rcu_sched]
root 8 2 0 20:23 ? 00:00:00 [rcu_bh]
root 9 2 0 20:23 ? 00:00:00 [migration/0]
root 10 2 0 20:23 ? 00:00:00 [migration/1]
root 11 2 0 20:23 ? 00:00:00 [ksoftirqd/1]
root 13 2 0 20:23 ? 00:00:00 [kworker/1:0H]
root 14 2 0 20:23 ? 00:00:00 [migration/2]
....
linux-kernel
process
elbarna
fuente
fuente
Respuestas:
Los procesos de kernel (o "hilos de kernel") son hijos de PID 2 (
kthreadd
), por lo que esto podría ser más preciso:Agregar
--deselect
para invertir la selección y ver solo los procesos de espacio de usuario.(Esta pregunta era más o menos una inversa exacta de esta ).
En los núcleos 2.4. * Y anteriores, esta convención PID 2 aún no existía.
fuente
kthreadd
2.6.18. Si está interesado en detalles exactos, vaya a kernel.org y use la interfaz del navegador git para profundizar en el historial temprano delkernel/kthread.c
archivo.Los hilos del kernel no usan RAM en absoluto (o al menos se muestran para no usar ninguno):
fuente
Si lo ha
tuna
instalado, puede enumerar todos los hilos del núcleo de esta manera:fuente