2017-04-01 16 views
2
top -o %MEM -b > file.txt 

file.txtなどは次のようである:topコマンドの出力をXML形式で保存する方法は?

top - 15:49:36 up 32 min, 2 users, load average: 1.56, 1.40, 1.01 
Tasks: 83 total, 2 running, 79 sleeping, 2 stopped, 0 zombie 
%Cpu(s): 24.4 us, 8.1 sy, 0.0 ni, 55.0 id, 0.0 wa, 0.0 hi, 12.5 si, 0.0 st 
KiB Mem: 195252 total, 191568 used,  3684 free,  3200 buffers 
KiB Swap: 901116 total,  44 used, 901072 free. 66940 cached Mem 

    PID USER  PR NI VIRT RES SHR S %CPU %MEM  TIME+ COMMAND 
    485 root  20 0 68160 61420 4552 R 58.7 31.5 5:06.10 python3 
    712 www-data 20 0 230940 4436 2044 S 26.1 2.3 3:54.04 apache2 
    819 root  20 0 8488 4400 3856 S 6.5 2.3 1:06.85 tcpdump 
    713 www-data 20 0 230780 4344 2044 S 13.0 2.2 2:34.97 apache2 
    868 root  20 0 6352 3976 2720 S 0.0 2.0 0:00.07 bash 
    785 root  20 0 6340 3876 2636 S 0.0 2.0 0:00.06 bash 
    707 root  20 0 6056 3704 2580 S 0.0 1.9 0:00.59 apache2 
    137 root  20 0 8284 3256 2996 S 0.0 1.7 0:00.34 systemd-journal 
    1 root  20 0 5476 3112 2072 S 0.0 1.6 0:01.04 systemd 
    456 ntp  20 0 5820 3012 2576 S 0.0 1.5 0:00.71 ntpd 
    865 root  20 0 4008 2792 2360 S 0.0 1.4 0:00.04 login 
    938 nobody 20 0 5244 2756 2404 S 0.0 1.4 0:00.04 vsftpd 
    941 nobody 20 0 5244 2756 2404 S 0.0 1.4 0:00.03 vsftpd 
    457 root  20 0 31220 2740 2080 S 0.0 1.4 0:00.01 rsyslogd 
    484 root  20 0 4008 2692 2268 S 0.0 1.4 0:00.05 login 
    944 root  20 0 5076 2620 2352 R 0.0 1.3 0:00.00 top 
    903 root  20 0 5080 2580 2236 T 0.0 1.3 0:00.00 top 
    908 root  20 0 5052 2560 2288 T 0.0 1.3 0:00.08 top 
    425 root  20 0 5416 2420 2100 S 0.0 1.2 0:00.00 cron 
    406 root  20 0 5012 2348 2120 S 0.0 1.2 0:00.00 cron 
    148 root  20 0 12272 2320 1856 S 0.0 1.2 0:00.09 systemd-udevd 
    414 message+ 20 0 5244 2268 1960 S 0.0 1.2 0:00.00 dbus-daemon 
    390 statd  20 0 4576 2264 1764 S 0.0 1.2 0:00.00 rpc.statd 

私はXML形式の代わりに、txtファイルに情報を保存してください!どうやってするの?

私はfile.txtを読んでXMLに変換したいと思います。

は、私は私は、Pythonを使うことができると思うが、私はどのように知らない:

#coding:utf-8 

from xml.dom.minidom import Document 

doc = Document() 
root = doc.createElement('InfoMemoria') 
+0

あなたは私たちがあなたのためのPythonのコードを書くことを要求している場合'top'プログラムの出力をXMLに変換すると、あなたの要求はこのサイトではあまりにも広すぎます。自分でやってみましょう。どこにいるのかを示す[mcve]で質問を更新してください。 – kjhughes

答えて

3

topコマンドは、XMLとして出力するオプションを持っていないので、あなたは何をするの解析に多くの(と、そのような要求を持っていると思いますこのサイトでは広すぎるでしょう)。

ただし、sysstatには、sadfが付属しており、必要に応じて-xのオプションがあります。ファイルDTDXSDdownload pageで利用可能です。

+0

そして、Pythonコード?どうですか? –

+0

広すぎます。 [**あなたの質問の下の私のコメント**](http://stackoverflow.com/questions/43158524/how-to-save-the-output-of-top-command-in-xml-format/43158678?noredirect)を参照してください。 = 1#コメント73392739_43158524)。 – kjhughes

+0

sysstatで2分ごとにすべての情報を収集し、XML形式で保存することは可能ですか? –

2

@kjhughesが正しく、統合された出力スキームはありません。そしてあなたも正しいです、あなたはpythonを使うことができます。ここでxmlとminidomに関するいくつかの情報を見ることができます: https://docs.python.org/2/library/xml.dom.minidom.html

ただし、XMLはモデルファイルです。これは、基本的なデータセットではなく、その構造を記述することを意味します。あなたが決めることでそれを行うことができます、だから、 https://spring.io/guides/gs/maven/

https://pubs.vmware.com/vfabric52/index.jsp?topic=/com.vmware.vfabric.tc-server.2.8/getting-started/tutwebapp-web-xml-file.html

またはJavaプログラム(第四コードブロック)をコンパイルするため、ここでMavenのファイルを参照してください:ここでは

あなたは、ウェブサイトの例を参照してくださいあなたの努力は何ですか?しかし、あなたはトップの結果に関してそれに関する標準がないので、あなた自身で決定する必要があります。したがって、私たちは質問を思いつきます...なぜあなたはこの形式を選択すべきですか?あなたの質問にDIREKTの答えとして

: のchildNodesにノード、のchildNodes、とのchildNodesを追加するにはどうすればよい...あなたがここに見つけることができます: https://wiki.python.org/moin/MiniDom

+1

私はデータを交換するためにXMLを使うべきだと思います! –

+0

こんにちは、でもまだ... XML <=>構造体は....データではありません。したがって、構造(どのような結果を得たいか)がどのように見えるかを知っておく必要があります。あなたはWeb-XMLとしてそれを持っていますか?それをHTMLサイトで発表するために? – Marcus

+0

:私は、それぞれの "PID USER PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND"をタグとして使用し、値を属性として使用したいと思います! –

関連する問題