$ 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
将在括号中打印可执行文件名称。