Что означают скобки вокруг процессов?


62
$ ps -Awwo pid,comm,args
  PID COMMAND         COMMAND
    1 init            /sbin/init
    2 kthreadd        [kthreadd]
    3 ksoftirqd/0     [ksoftirqd/0]
    5 kworker/u:0     [kworker/u:0]
    6 migration/0     [migration/0]
    7 cpuset          [cpuset]
    8 khelper         [khelper]
    9 netns           [netns]
   10 sync_supers     [sync_supers]
   11 bdi-default     [bdi-default]
   12 kintegrityd     [kintegrityd]
   13 kblockd         [kblockd]
   14 kacpid          [kacpid]
   15 kacpi_notify    [kacpi_notify]
   16 kacpi_hotplug   [kacpi_hotplug]
   17 ata_sff         [ata_sff]
   18 khubd           [khubd]

Что означают скобки? Всегда ли args возвращает полный путь к команде процесса (например /bin/cat)?


2
Мой заклятый враг, user626201, уже задавал этот вопрос на stackoverflow stackoverflow.com/questions/7078258/…
joslinm

3
Да, это обычно потоки ядра.
Стефан Гименес

2
Когда они не будут потоками ядра? Когда «Аргументы процесса недоступны»?
mgalgs

Ответы:


51

Скобки появляются вокруг имен команд, когда невозможно найти аргументы этой команды.

Страница ps(1)man во FreeBSD объясняет, почему это обычно происходит с системными процессами и потоками ядра:

Если аргументы не могут быть найдены (обычно потому, что они не были установлены, как в случае системных процессов и / или потоков ядра), имя команды выводится в квадратных скобках.

ps(1)Страница на Linux гласит так же:

Иногда аргументы процесса будут недоступны; когда это произойдет, ps вместо этого напечатает имя исполняемого файла в скобках.


1
Какое отношение имеют недоступные аргументы к непечатке полного пути к команде процесса ( /bin/cat)? Я думал, что аргументы - это аргументы, передаваемые после команды. (Хотя сама команда действительно отображается в argv- я не совсем понимаю, я подумал об этом как об удобной функции.)
n611x007

14

Из руководства:

Иногда аргументы процесса будут недоступны; когда это произойдет, psвместо этого будет напечатано имя исполняемого файла в скобках.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.