linux强行终止top进程,linux-如何在文件中捕获top命令的输出(对于将要终止的特定进程)...

我有一个正在监视的进程MYPID = 18686.

top -b -n 1000 -d 5 -p $MYPID | tail -1 > log.txt

进程终止后,输出文件为空.

我的最终目标是仅记录该过程生命周期内的cpu使用情况.指定-n 1000 -d 5是一种廉价的解决方法,可以在进程的预期寿命内运行.尾号-1是为了消除连续记录顶部标题的情况.

解决方法:

tail -1不产生top产生的每个输出屏幕的最后一行.它仅产生所有行的最后一行.

尝试:

top -b -n 1000 -d 5 -p "$MYPID" | grep "$MYPID" > log.txt

这会将所有提及PID的行收集到log.txt中,但没有标头(假设PID没有出现在标头上).

注意,grep通常是缓冲的.这意味着,如果您在运行期间检查log.txt,它可能已过期.使用GNU grep,您可以使用–line-buffered选项使log.txt保持最新:

top -b -n 1000 -d 5 -p "$MYPID" | grep --line-buffered "$MYPID" > log.txt

标签:bash,logging,linux

来源: https://codeday.me/bug/20191109/2012263.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值