O que significam os colchetes em torno dos processos?

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]

O que significam os colchetes? Args sempre retorna o caminho completo para o comando do processo (por exemplo /bin/cat)?

joslinm
fonte
2
meu arqui-inimigo, user626201, já fez esta pergunta no stackoverflow stackoverflow.com/questions/7078258/…
joslinm 5/11
3
Sim, esses geralmente são threads do kernel.
Stéphane Gimenez
2
Quando eles não seriam os threads do kernel? Quando os "argumentos do processo não estão disponíveis"?
mgalgs
superuser.com/questions/389161/…
Ciro Santilli escreveu

Respostas:

51

Os colchetes aparecem ao redor dos nomes dos comandos quando os argumentos para esse comando não podem ser localizados.

A ps(1)página de manual no FreeBSD explica por que isso normalmente acontece nos processos do sistema e nos threads do kernel:

Se os argumentos não puderem ser localizados (geralmente porque não foram definidos, como é o caso dos processos do sistema e / ou threads do kernel), o nome do comando será impresso entre colchetes.

A ps(1)página do manual no Linux afirma da mesma forma:

Às vezes, os argumentos do processo não estarão disponíveis; quando isso acontecer, o ps imprimirá o nome do executável entre colchetes.

up_the_irons
fonte
11
O que os argumentos não disponíveis estão relacionados com a impressão do caminho completo para o comando process ( /bin/cat)? Eu pensei que args são os argumentos passados ​​após o comando. (Embora o comando em si, na verdade mostra-se em argv- Eu não entendo muito bem, eu pensei nisso como um recurso de conveniência.)
n611x007
14

Do manual:

Às vezes, os argumentos do processo não estarão disponíveis; quando isso acontecer, psimprimirá o nome do executável entre colchetes.

Kusalananda
fonte