如何在Linux ps命令中获取短进程名而非带参数的完整命令行
解决方案
你可以根据自己需要的展示效果,选择以下两种调整方案:
方案1:仅展示可执行文件短名称(如 chrome、mysqld)
直接将原命令中的cmd字段替换为comm字段即可,comm是ps内置的字段,专门输出进程的可执行文件短名,默认不带路径和参数:
ps -eo pid,ppid,%mem,%cpu,comm --sort=-%mem | head
输出示例的命令列将变为:
mysqld
gnome-shell
chrome
chrome
chrome
方案2:保留完整可执行文件路径(如 /opt/google/chrome/chrome),仅去掉后续参数
ps没有直接输出不带参数的完整路径的内置字段,我们可以配合awk处理输出,删除CMD列第一个空格之后的所有参数内容即可:
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | awk '{sub(/ .*/,"",$5); print}' | head
输出示例的命令列将变为:
/usr/sbin/mysqld
/usr/bin/gnome-shell
/opt/google/chrome/chrome
/opt/google/chrome/chrome
/opt/google/chrome/chrome
内容的提问来源于stack exchange,提问作者imssuthar
相关产品推荐
相关产品推荐

