我一直ps -o etime,cputime
在脚本中使用来监视 CPU 使用率的峰值,但是当服务器运行一段时间后,时间不会以广泛记录的格式显示[DD-]hh:mm:ss
,而是被格式化为类似9h35
.
如何让它保持预期的格式?
(我使用的是alpine linux)
答案1
事实证明,没有办法覆盖这种行为。
看着源代码对于 ps BusyBox,它忽略标准格式并返回 4 种格式之一
mm:ss for processes running less than 1 hour
HHhMM for processes running between 1 hour and 1 day
DDdHH for processes running between 1 and 100 days
DD for processes running more than 100 days
该代码不支持对此行为进行覆盖:-(
答案2
你实际上可以通过安装 GNU ps 来覆盖 BusyBox psprocps
包裹:
apk add procps
安装后,/bin/ps
Busybox 符号链接将替换为 GNUps
二进制文件。 GNU ps 应该提供熟悉的功能和格式。