2015-02-10 54 views
1

我,以便从AP发送一些数据到服务器的zabbix写了一些线条。(其确定为那个东西......)守护进程线程什么也不做

但是,我想创建一个守护线程为了它。 除此之外,它不会释放我的终端......我在执行过程中无法做任何事情。我试了一下线程一些教程,但没有revelant我...

这是我的代码:

def miningBot(): 
#initialisation dictionnary 
    hostIP = {} 
    hostIP['Bornes Wifi -- LYON', 'borne5nbHostsLY'] = "*.*.*.*" 
    hostIP['Bornes Wifi -- LYON', 'borne6nbHostsLY'] = "*.*.*.*" 
    hostIP['Bornes Wifi -- GRENOBLE', 'borne6nbHostsGRE'] = "*.*.*.*" 
    hostIP['Bornes Wifi -- GRENOBLE', 'borne7nbHostsGRE'] = "*.*.*.*" 
    while True: 
     for value, ip in hostIP.items(): 
      nbHosts = pickaxe(ip) 
      zabbix_cmd = "zabbix_sender -z *.*.*.* -p 10051 -s '" + value[0] + "' -k " + value[1] + " -o " + str(nbHosts) 
      zabbix_sender = subprocess.check_output(zabbix_cmd, shell=True) 
     sleep(10) 

t = Thread(target=miningBot) 
t.daemon = True 
t.start() 

对不起,我的英语...并感谢您的帮助;)

回答

0

守护线程是不被认为是程序终止障碍的线程,即。当只有正在运行的线程是守护进程时,程序将终止。它们与守护进程无关,所以这不是你想要的。

您无法守护单个线程,您需要守护进程以将其从终端中分离出来。 (所以你根本不需要任何额外的线程。)你可以使用Python Daemon library来做到这一点。

+0

感谢您的回答;) – Mech45 2015-02-11 22:05:33