ps命令中“cmd”和“comm”的区别

ps命令中“cmd”和“comm”的区别

我是 bash 和 Linux 新手,有一个问题。我的问题是我想按 pid 打印进程名称。我用谷歌搜索并找到了几种方法:

  • ps -p <PID> -o cmd

  • ps -p <PID> -o comm

我正在使用 Xubutnu 14.04,第一个命令(在任意 pid 上)向我显示:

指令管理系统

x-会话管理器

第二个:

命令

x-会话管理

如您所见,第二个名字不完整。另外,它们都有一个列名。我发现=在命令末尾添加会使列名称消失。我已阅读man ps但无法理解comm和之间的真正区别cmd(因为对它们的解释是alias)。

cmdcomm标志 to之间有什么区别ps -o

答案1

根据man ps(for psfrom procps-ng 3.3.12) 该选项comm仅显示可执行文件名称,而不显示命令名称的修改,而cmd将参数显示为字符串的命令名称,并且可能可以显示命令参数的修改。

当最后指定此命令时,它们会将输出字符串显示到显示屏的边缘,因此名称可能会被截断。N可以使用命令将输出截断为列--cols <N>,使用 清除标题--no-header,如下所示

ps -p <PID> -o comm --cols <N> --no-header

相关内容