我已经编写了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