Browse Source

fix threads error exit

master
lework 5 years ago
parent
commit
ac188ae8e4
  1. 16
      python/supervisor_healthCheck.py

16
python/supervisor_healthCheck.py

@ -576,12 +576,12 @@ class HealthCheck(object):
:param program: :param program:
:param pid: :param pid:
:return: :return:
""" """
self.log(program, 'Action: kill') self.log(program, 'Action: kill')
result = 'success' result = 'success'
if int(pid) < 3: if int(pid) < 3:
return 'Failed to kill %s, pid: %s '% (program, exitcode) return 'Failed to kill %s, pid: %s '% (program, pid)
cmd = "kill -9 %s" % pid cmd = "kill -9 %s" % pid
exitcode, stdout, stderr = shell(cmd) exitcode, stdout, stderr = shell(cmd)
@ -771,9 +771,15 @@ class HealthCheck(object):
t = threading.Thread(target=self.check, args=(item,)) t = threading.Thread(target=self.check, args=(item,))
threads.append(t) threads.append(t)
for t in threads: for t in threads:
t.setDaemon(True) try:
t.start() t.setDaemon(True)
t.start()
except Exception, e:
print('Exception in ' + t.getName() + ' (catch by main)')
print(t.exc_traceback)
t.setDaemon(True)
t.start()
while 1: while 1:
time.sleep(0.1) time.sleep(0.1)

Loading…
Cancel
Save