Was bedeuten die Klammern um Prozesse?

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]

Was bedeuten die Klammern? Gibt args immer den vollständigen Pfad zum Prozessbefehl zurück (z. B. /bin/cat)?

joslinm
quelle
2
Meine Erzfeindin user626201 hat diese Frage bereits auf stackoverflow.com/questions/7078258/…
joslinm 05.10.11
3
Ja, das sind normalerweise Kernel-Threads.
Stéphane Gimenez
2
Wann wären sie keine Kernel-Threads? Wann sind "Prozessargumente nicht verfügbar"?
mgalgs

Antworten:

51

Befehlsnamen werden in Klammern angegeben, wenn die Argumente für diesen Befehl nicht gefunden werden können.

Die ps(1)Manpage zu FreeBSD erklärt, warum dies normalerweise bei Systemprozessen und Kernel-Threads der Fall ist:

Wenn die Argumente nicht gefunden werden können (normalerweise, weil sie nicht festgelegt wurden, wie dies bei Systemprozessen und / oder Kernel-Threads der Fall ist), wird der Befehlsname in eckigen Klammern angegeben.

Die ps(1)Manpage unter Linux lautet ähnlich:

Manchmal sind die Prozessargumente nicht verfügbar. In diesem Fall gibt ps stattdessen den Namen der ausführbaren Datei in Klammern aus.

up_the_irons
quelle
1
Was haben die nicht verfügbaren Argumente damit zu tun, dass der vollständige Pfad zum Prozessbefehl ( /bin/cat) nicht gedruckt wird ? Ich dachte, Argumente sind die Argumente, die nach dem Befehl übergeben werden. (Obwohl der Befehl selbst tatsächlich in argv
angezeigt wird
14

Aus dem Handbuch:

Manchmal sind die Prozessargumente nicht verfügbar. In diesem Fall pswird stattdessen der Name der ausführbaren Datei in Klammern gedruckt.

Kusalananda
quelle