进程周围的括号是什么意思?

进程周围的括号是什么意思?
$ 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)?

答案1

当无法找到该命令的参数时,命令名称周围会出现括号。

FreeBSD 上的手册页ps(1)解释了为什么这种情况通常发生在系统进程和内核线程上:

如果无法找到参数(通常是因为尚未设置参数,如系统进程和/或内核线程的情况),则命令名称将打印在方括号内。

ps(1)Linux 上的手册页也有类似的说明:

有时进程参数不可用;发生这种情况时,ps 将在括号中打印可执行文件名称。

答案2

从手册中:

有时进程参数不可用;发生这种情况时,ps将在括号中打印可执行文件名称。

相关内容