Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I do not understand why the kernel module cfg80211 is also listed by ps aux as shown below:

$ ps aux | grep cfg80211
root 521 0.0 0.0 0 0 ? S< 16:09 0:00 [cfg80211]
share|improve this question
    
Lekensteyn: You have edited my question and given it a slightly wrong meaning The command and its response given is not by lsmod but rather by '$ ps aux'. –  user43816 Jun 11 '12 at 18:14
    
Did izx's edits fix the problem in your post? –  Thomas W. Jun 11 '12 at 19:19

1 Answer 1

It is the standard behavior of ps to list kernel threads, as these too are processes--just a different kind of process, because they run in supervisor mode (which some people call "kernel mode").

If you run ps ax (or ps aux) without piping its output to grep, you'll see a whole bunch of kernel modules listed first (and then probably some others interspersed with user processes, if they were started later).

For example, here's the first 10 lines of the current output of ps ax on my system:

  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 will list loaded modules. ps aux will list current processes, including kernel processes associated with modules. These are different things, however. For example, a loaded kernel module might have any number of kernel processes associated with it (zero or more).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.