按进程名称过滤并记录CPU使用率

BalaB:

linux top命令是否有一个选项,我可以按名称过滤进程并将该进程的CPU使用率每1秒写入日志文件?

肖恩·奇恩(Shawn Chin):

toppgrep

要按top进程名称过滤输出,可以使用按进程名称pgrep获取PID列表,然后将其传递给-p选项top

例如:

top -p $(pgrep -d',' http)

注意:该-d','选项用逗号分隔PID,这是期望的top -p注意2:top如果没有与您在中指定的名称匹配的正在运行的进程,则将返回失败消息pgrep

要将的结果写入top文件,请使用-n 1选项(仅一次迭代),然后将输出重定向到日志文件。

top -p $(pgrep -d',' http) -n 1 >> your_log_file

要每秒这样做一次,也许用a while循环sleep就可以了?

while :; do top -p $(pgrep -d',' http) -n 1 >> your_log_file; sleep 1; done

要为每个条目添加时间戳,您可以附加的输出date例如

while :; do top -p $(pgrep -d',' http) -n 1 >> log.txt; date >> log.txt; sleep 1; done

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章