0
に追加されました。私はPython zabbixトラッパースクリプトを2台のサーバーで実行しています。 30秒ごとに実行されます。サーバー2から(OK)Pythonの余分な値が変数
01-05-12 17:40:50 Time_WAIT: 286
01-05-12 17:41:20 Time_WAIT: 251
01-05-12 17:41:50 Time_WAIT: 366
01-05-12 17:42:20 Time_WAIT: 335
01-05-12 17:42:50 Time_WAIT: 287
01-05-12 17:43:20 Time_WAIT: 375
01-05-12 17:43:51 Time_WAIT: 386
01-05-12 17:44:21 Time_WAIT: 383
出力:(課題)
01-05-12 17:44:03 Time_WAIT: 368
01-05-12 17:44:32 Time_WAIT: 388
01-05-12 17:45:01 Time_WAIT: 0
01-05-12 17:45:01 Time_WAIT: 339
01-05-12 17:45:31 Time_WAIT: 311
01-05-12 17:46:00 Time_WAIT: 400
01-05-12 17:46:01 Time_WAIT: 0
01-05-12 17:46:29 Time_WAIT: 411
01-05-12 17:46:58 Time_WAIT: 448
これは "SS"
file_log = "/tmp/tcpstate.log"
proc = open(file_log,"a")
file = "/var/log/safesquid/safesquid/performance/performance.log"
time_wait_cmd = subprocess.Popen("ss -o state time-wait | grep webcache | wc -l",shell=True,stdout=subprocess.PIPE)
ssquid_time = time_wait_cmd.communicate()[0]
proc_string = datetime.datetime.now().strftime("%d-%m-%y %H:%M:%S") + " " + "Time_WAIT: " + ssquid_time + "\n"
proc.write(proc_string)
proc.close()
SERVER1出力からTIME_WAIT状態を読み取るコードの一部であります
それは30秒ごとに呼び出されて以来、私はなぜServer2の "0"の値を取得し、すぐに正しい値を読み取るか分からない。
これはなぜ起こっているのですか?
ファイルの操作については、[the 'with' statement](http://docs.python.org/reference/compound_stmts.html#the-with-with-statement)を参照してください。読みやすく、終了することができますあなたのためのファイル - 例外の場合でも。 –
アドバイスLattywareのおかげで、問題は私が思うのはサブプロセスのコマンドだと思うので、私は診断のためにファイルに出力しています... – krisdigitx
私はそれが問題の原因であることを示唆していません。あなたのコードはもっとPythonic。 –