วงเล็บรอบกระบวนการหมายถึงอะไร


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
arch-nemesis ของฉัน user626201 ได้ถามคำถามนี้ไปแล้วเกี่ยวกับ stackoverflow stackoverflow.com/questions/7078258/…
joslinm

3
ใช่เหล่านั้นมักจะเป็นเคอร์เนลเธรด
Stéphane Gimenez

2
พวกเขาจะไม่เป็นเธรดเคอร์เนลเมื่อใด เมื่อ "กระบวนการ args ไม่พร้อมใช้งาน" เมื่อใด
mgalgs

คำตอบ:


51

วงเล็บปรากฏขึ้นรอบ ๆ ชื่อคำสั่งเมื่อไม่สามารถหาอาร์กิวเมนต์ของคำสั่งนั้น

ps(1)หน้าคนบน FreeBSD อธิบายว่าทำไมนี้มักจะเกิดขึ้นกับระบบกระบวนการและหัวข้อเคอร์เนล:

หากไม่สามารถหาข้อโต้แย้งได้ (โดยปกติจะเป็นเพราะยังไม่ได้ตั้งค่าเช่นเดียวกับกรณีของกระบวนการระบบและ / หรือเคอร์เนลเธรด) ชื่อคำสั่งจะถูกพิมพ์ภายในวงเล็บเหลี่ยม

ps(1)หน้าคนบน Linux กล่าวในทำนองเดียวกัน:

บางครั้งกระบวนการจะไม่สามารถใช้งานได้ เมื่อสิ่งนี้เกิดขึ้น ps จะพิมพ์ชื่อปฏิบัติการในวงเล็บแทน


1
args ที่ไม่พร้อมใช้งานมีอะไรเกี่ยวข้องกับการไม่พิมพ์พา ธ เต็มไปยังคำสั่ง process ( /bin/cat)? ฉันคิดว่า args เป็นอาร์กิวเมนต์ที่ส่งผ่านหลังจากคำสั่ง (แม้ว่าคำสั่งจะปรากฏขึ้นจริง ๆargv- ฉันไม่ค่อยเข้าใจฉันคิดว่ามันเป็นคุณสมบัติอำนวยความสะดวก)
n611x007

14

จากคู่มือ:

บางครั้งกระบวนการจะไม่สามารถใช้งานได้ เมื่อสิ่งนี้เกิดขึ้นpsแทนจะพิมพ์ชื่อที่ปฏิบัติการได้ในวงเล็บ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.