我已經編寫了Python腳本並作爲服務運行,腳本本身檢查網絡流量並最終吐出打印語句。 我不知道如何才能在最後看到打印文本。它會顯示在終端上?從服務在終端上打印文本
想法是,如果此腳本作爲服務運行並且已登錄,我想查看打印結果。
service.conf(修正運行級別,如果有什麼不對的地方爲好,我可以運行此爲最後服務)
description "Network Check"
author "I am the user"
start on runlevel [234]
stop on runlevel [0156]
chdir /home/foo
exec /home/foo/test.py
respawn
腳本:
#!/usr/bin/python
import psutil
import time
final_bytes=0
diff=0
while ((final_bytes/1000000) < 500):
bytes = psutil.net_io_counters()
if (bytes.bytes_recv - diff) > 1000000:
time.sleep(1)
if final_bytes != 0:
final_bytes = final_bytes + (bytes.bytes_recv - diff)
else:
final_bytes =1
else:
time.sleep(0.5)
diff = bytes.bytes_recv
print "Total Bytes transferred: ", final_bytes/1000000 ,"MB"
你有沒有考慮過把內容輸出到系統日誌服務器或其他什麼東西。這允許您根據需要在本地或遠程日誌記錄服務器上進行日誌記錄。 Python日誌工具能夠將內容發送到UDP端口(514 for syslog) –
@BrianCain我對Ubuntu/Linux和Python非常新穎,我爲了學習的目的而編寫了這個程序,而且我的設置是一個獨立的服務器。你能再詳細一點嗎?看起來像Syslog是用於網絡監控。 – Fenomatik
@BrianCain我認爲我得到了你在這裏說的,我正在研究它,但最重要的是,我最初的想法是獲得某種即時警報(也許閃爍的文字等)作爲警報的一種形式。你認爲這可以在終端上實現嗎?我相信,如果沒有用戶登錄,將不可能。但是如果我登錄?我更像是一個SCOM傢伙:) – Fenomatik