2015-02-10 2 views
1

Я написал несколько строк, чтобы отправить некоторые данные от AP к Zabbix серверу. (Его хорошо для этой вещи ...)демон Thread ничего не делать

Но я хочу, чтобы создать демон-нить для этого. За исключением того, что он не освободит мой терминал ... я ничего не могу сделать во время его выполнения. Я пробовал некоторые учебник по резьбе, но ничего 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

Смежные вопросы