Почему модуль ядра cfg80211 также указан как процесс ядра [cfg80211]?

Я не понимаю, почему модуль ядра cfg80211 также указан в ps aux , как показано ниже:

$ ps aux | grep cfg80211
root 521 0.0 0.0 0 0 ? S< 16:09 0:00 [cfg80211]
3
задан 12 June 2012 в 05:22

1 ответ

Это стандартное поведение 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 перечислит текущие процессы, включая процессы ядра, связанные с модулями. Это разные вещи, однако. Например, загруженный модуль ядра может иметь любое количество процессов ядра, связанных с ним (ноль или более).

0
ответ дан 12 June 2012 в 05:22

Другие вопросы по тегам:

Похожие вопросы: