Wiem, że istnieją dwa „poziomy” programów: przestrzeń użytkownika i przestrzeń jądra.
Moje pytanie brzmi: chcę widzieć tylko programy jądra, lub lepiej: programy w przestrzeni jądra.
Czy to podejście jest prawidłowe?
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
źródło
źródło
Odpowiedzi:
Procesy jądra (lub „wątki jądra”) są potomkami PID 2 (
kthreadd
), więc może to być dokładniejsze:Dodaj,
--deselect
aby odwrócić wybór i zobaczyć tylko procesy w przestrzeni użytkownika.(To pytanie było dokładnie odwrotne do tego ).
W 2.4. * I starszych jądrach ta konwencja PID 2 jeszcze nie istniała.
źródło
kthreadd
2.6.18. Jeśli interesują Cię dokładne szczegóły, przejdź do kernel.org i skorzystaj z interfejsu przeglądarki git, aby przejść do wczesnej historiikernel/kthread.c
pliku.Wątki jądra w ogóle nie używają pamięci RAM (lub przynajmniej są wyświetlane, aby ich nie używać):
źródło
Jeśli
tuna
zainstalowałeś, możesz wymienić wszystkie wątki jądra w następujący sposób:źródło