将Linux top命令输入到指定文件时的乱码问题

本文发布时间: 2019-Mar-22
根据需求,项目需要读取linux系统环境参数,所以需要将top命令的输出结果输入到文件中。用重定向命令如下:top > result.txt 。用vi打开文件: vi result.txt 。显示的结果却是这样的,看图更方便:于是分析出一下几个原因:1.其他命令是否出现相同问题?2.是否是文件编码格式问题导致?3.是否是系统平台问题导致?下面一个一个测试:1.测试命令:ls > testls.txt结果如图:测试命令:ps -ef > testps.txt结果如图:可以得出结论,其他命令没有出现这样的情况,排除原因1.2.看看result.txt文件的编码格式vi result.txt进入文件输入: ":set fileencoding" 后按回车显示utf-8,如下图:QTdJNTY3LmpwZw==" src="http:///uploadfile/files/2014/0326/2014032609272934.jpg" title="resultCoding.jpg" />于是也可以排除不是文件编码的问题;排除原因2;3.将 result.txt 文件拿到windows系统中打开,显示如下图:也出现了乱码情况,所以也不是系统平台的原因。。。这下原因3也排除了。这下该怎么办呢???最后能想到的只有命令本身了,因为其他命令没有出现这种情况,所以会想到在top命令的参数中会有蹊跷。下面是linux top命令的详解:http://rockhooray.blog.51cto.com/938613/832621可以发现,在想要输出内容到文件中则需要使用批处理模式。详细介绍如下:-b 批处理模式操作开启top工作在批处理模式,这样在需要将top的输出信息输出 到其他程序或文件时非常有用。在这种模式下,top不接受任何输入操作,直到通过-n 设置的重复次数后,或者退出top才终止。在终端中输入top -b top将不断重复地显示任务信息,知道按Ctrl+C终止为止,在终端中输入top -b -n 10 ,top将显示10次后终止,也就是分10个批次显示完后就退出。所以只需要在命令中指定为批处理模式问题就解决啦: top -b > result.txt 结果就不在展示了。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表