Я не понимаю, почему модуль ядра cfg80211
также указан в ps aux
, как показано ниже:
$ ps aux | grep cfg80211
root 521 0.0 0.0 0 0 ? S< 16:09 0:00 [cfg80211]
Это стандартное поведение ps
для перечисления потоков ядра, так как они тоже являются процессами - просто другой тип процесса, потому что они работают в режиме супервизора (который некоторые люди называют «ядром»). режим ").
Если вы запустите ps ax
(или ps aux
) без передачи его вывода в grep
, вы увидите сначала целую кучу модулей ядра (а затем, возможно, некоторые другие, перемежающиеся с пользовательскими процессами, если они были началось позже).
Например, вот первые 10 строк токового выхода ps ax
в моей системе:
PID TTY STAT TIME COMMAND
1 ? Ss 0:03 /sbin/init
2 ? S 0:01 [kthreadd]
3 ? S 97:17 [ksoftirqd/0]
6 ? S 0:00 [migration/0]
7 ? S 0:24 [watchdog/0]
8 ? S 0:00 [migration/1]
10 ? S 6:06 [ksoftirqd/1]
12 ? S 0:18 [watchdog/1]
13 ? S< 0:00 [cpuset]
lsmod
выведет список загруженных модулей. ps aux
перечислит текущие процессы, включая процессы ядра, связанные с модулями. Это разные вещи, однако. Например, загруженный модуль ядра может иметь любое количество процессов ядра, связанных с ним (ноль или более).