将当前日期/时间添加到 ps 输出

将当前日期/时间添加到 ps 输出

我想记录我的 CPU 和内存使用情况。有很多帖子提供了使用、、等的不同选项。pstop真的python很喜欢这种ps方式。就我而言,我调用:

ps -o user -o pid  -o pmem -o pcpu -u dxd9163

这给出了一个很好的表格:

在此处输入图片描述

因为我正在记录这些数据(每十分钟一次),所以我想将日期/时间信息添加到表的每一行,如下所示:

date +%Y/%m/%d/%H:%M

我不想要进程时间、运行时间或启动时间,我只想要拍摄快照的时间。因此,在上图中,time将出现一个新字段,其中包含每个快照的所有相同信息。

看来该ps函数有一个弃用的选项,它以前可能有效但现在不再有效(utime)。

知道怎么做吗?这可能很容易,但我对 Linux 还不熟悉。

我的最终目标是每 10 分钟记录一次usage.txt用户的 RAM 和 CPU 使用情况。

答案1

一个技巧是更换每个“行首”“行首,时间戳”

ps -o user -o pid  -o pmem -o pcpu -u dxd9163 | sed "s#^#$(date +%Y/%m/%d/%H:%M) #"

通常sed代替运算符使用斜线作为分隔符 ( s/…/…/),但由于时间戳已包含斜线,因此这不起作用。因此我使用了不同的分隔符 ( s#…#…#)。

相关内容