¿Qué significan los corchetes alrededor de los procesos?

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]

¿Qué significan los corchetes? ¿Args siempre devuelve la ruta completa al comando de proceso (por ejemplo /bin/cat)?

joslinm
fuente
2
mi archienemigo, usuario626201, ya hizo esta pregunta en stackoverflow stackoverflow.com/questions/7078258/…
joslinm
3
Sí, generalmente son hilos de kernel.
Stéphane Gimenez
2
¿Cuándo no serían hilos de kernel? ¿Cuándo están los "argumentos de proceso no disponibles"?
mgalgs
superuser.com/questions/389161/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

51

Los corchetes aparecen alrededor de los nombres de los comandos cuando no se pueden ubicar los argumentos de ese comando.

La ps(1)página del manual en FreeBSD explica por qué esto suele suceder con los procesos del sistema y los hilos del núcleo:

Si los argumentos no se pueden ubicar (generalmente porque no se ha establecido, como es el caso de los procesos del sistema y / o los hilos del núcleo), el nombre del comando se imprime entre corchetes.

La ps(1)página del manual en Linux dice de manera similar:

Algunas veces los argumentos del proceso no estarán disponibles; cuando esto sucede, ps imprimirá entre paréntesis el nombre del ejecutable.

hasta los hierros
fuente
1
¿Qué tienen que ver los argumentos que no están disponibles con no imprimir la ruta completa al comando de proceso ( /bin/cat)? Pensé que los argumentos son los argumentos pasados ​​después del comando. (Aunque el comando en sí aparece en argv- No lo entiendo del todo, pensé que era una característica conveniente.)
n611x007
14

Del manual:

Algunas veces los argumentos del proceso no estarán disponibles; cuando esto sucede, psimprimirá el nombre del ejecutable entre paréntesis.

Kusalananda
fuente