Apa arti tanda kurung di sekitar proses?

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]

Apa arti tanda kurung? Apakah args selalu mengembalikan path lengkap ke perintah proses (misalnya /bin/cat)?

joslinm
sumber
2
musuh bebuyutan saya, user626201, telah mengajukan pertanyaan ini di stackoverflow stackoverflow.com/questions/7078258/…
joslinm
3
Ya, itu biasanya utas kernel.
Stéphane Gimenez
2
Kapan mereka tidak menjadi utas kernel? Kapan "proses args tidak tersedia"?
mgalg
superuser.com/questions/389161/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

51

Tanda kurung muncul di sekitar nama perintah ketika argumen ke perintah itu tidak dapat ditemukan.

The ps(1)man halaman di FreeBSD menjelaskan mengapa hal ini biasanya terjadi pada proses sistem dan kernel thread:

Jika argumen tidak dapat ditemukan (biasanya karena belum diatur, seperti halnya proses sistem dan / atau utas kernel) nama perintah dicetak dalam tanda kurung siku.

The ps(1)man halaman di Linux menyatakan sama:

Terkadang argumen proses tidak tersedia; ketika ini terjadi, ps sebagai gantinya akan mencetak nama yang dapat dieksekusi dalam tanda kurung.

up_the_irons
sumber
1
Apa hubungannya args yang tidak tersedia dengan tidak mencetak path lengkap ke perintah proses ( /bin/cat)? Saya pikir args adalah argumen yang diberikan setelah perintah. (Meskipun perintah itu sendiri memang muncul di argv- Saya tidak begitu mengerti, saya menganggapnya sebagai fitur kenyamanan.)
n611x007
14

Dari manual:

Terkadang argumen proses tidak tersedia; ketika ini terjadi, pssebagai gantinya akan mencetak nama yang dapat dieksekusi dalam tanda kurung.

Kusalananda
sumber