我有一个 python 脚本,它接收 csv 格式的进程,并根据正在运行的进程、进程名称以及它使用的 CPU 时间来决定事情。我想将同样使用大量内存的进程添加到该脚本中。但问题是,我一直用于 csv 类输出的命令似乎没有参数来漂亮地打印 RSS 内存使用情况。但是我可以访问 VSZ 值...我目前拥有的命令是:
ps -e -o "\"%p\",\"%r\",\"%U\",\"%z\",\"%C\",\"%c\",\"%a\""
" PID"," PGID","USER "," VSZ","%CPU","COMMAND ","COMMAND "
"22418","22418","root "," 4956"," 0.0","my_proc","my_proc arg1 arg2"
"26175","26175","root "," 14020"," 0.0","bash","-bash"
在任何人询问之前..是的,如果我不希望以漂亮的方式打印该值,我可以获取 vss 值。示例:
ps -o "rss"
RSS
604
2972
但是,这并没有很好地输入到我的脚本中,以阻止愚蠢的人做蠢事。我尝试了我所知道的除俄语字母之外的所有字母,看看其中一个值是否与 ps 的漂亮打印值相匹配。但遗憾的是,它不是一个字母。我不禁觉得有更好的方法可以以我想要的格式输出我想要的所有数据。
答案1
事实证明,我可以以一种更古怪的方式使用 -o 参数来获得我想要的结果。虽然不理想,但确实有效。
ps -o "\"%p\",\"%r\",\"%U\",\"" -o rss -o "\",\"%C\",\"%c\",\"%a\""