⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 core.py

📁 监控大型网络的软件。能够自动发现拓扑结构
💻 PY
字号:
# -*- coding: ISO8859-1 -*-"""core - kj鴕e jobber som prosesser i stedet for tr錮er$Author: mortenv $$Id: core.py 3315 2005-07-27 12:12:47Z mortenv $$Source: /usr/local/cvs/navbak/navme/subsystem/statemon/lib/core.py,v $tanken er at programmet skal lese argumenter fra stdinstarte jobbene som egne prosesser som skriver resultat til stdouteks stdin:(serviceid,boksid,ip,type,version,{property:value})eks stdout:(serviceid,boksid,status,info,version,responsetid)"""import os,sys,time,signalfrom job import jobmap,EventMAX = 10TIMEOUT = 5class Timeout(Exception):	passdef handler(s,f):	raise Timeout('timeout')def do(serviceid,boksid,ip,type,version,args):	start = time.time()	j = jobmap[type](serviceid,boksid,ip,args,version)	status,info = j.execute()	version = j.getVersion()	return (serviceid,status,info,version,time.time() - start)def core(childs = MAX):	signal.signal(signal.SIGALRM, handler)	for child in range(childs):		pid = os.fork()		if not pid:			while 2:				try:					s = raw_input()					if not s:						sys.exit(0)					serviceid,boksid,ip,type,version,args = eval(s)					timeout = args.get('timeout',TIMEOUT)					signal.alarm(timeout)					print do(serviceid,boksid,ip,type,version,args)					signal.alarm(0)				except Timeout,info:					print (serviceid,Event.DOWN,'timeout',0)				except SystemExit:					raise	try:		for i in range(childs):			os.wait()	except:		#logge til syslog elns		passif __name__ == '__main__':	if len(sys.argv) == 2:		childs = int(sys.argv[1])		core(childs)	else:		core()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -