tests/killdaemons.py
branchstable
changeset 49366 288de6f5d724
parent 49309 d54b213c4380
equal deleted inserted replaced
49364:e8ea403b1c46 49366:288de6f5d724
     1 #!/usr/bin/env python3
     1 #!/usr/bin/env python3
     2 
     2 
     3 from __future__ import absolute_import
       
     4 import errno
       
     5 import os
     3 import os
     6 import signal
     4 import signal
     7 import sys
     5 import sys
     8 import time
     6 import time
     9 
     7 
    92             else:
    90             else:
    93                 time.sleep(0.1)
    91                 time.sleep(0.1)
    94                 os.kill(pid, 0)
    92                 os.kill(pid, 0)
    95             logfn('# Daemon process %d is stuck - really killing it' % pid)
    93             logfn('# Daemon process %d is stuck - really killing it' % pid)
    96             os.kill(pid, signal.SIGKILL)
    94             os.kill(pid, signal.SIGKILL)
    97         except OSError as err:
    95         except ProcessLookupError:
    98             if err.errno != errno.ESRCH:
    96             pass
    99                 raise
       
   100 
    97 
   101 
    98 
   102 def killdaemons(pidfile, tryhard=True, remove=False, logfn=None):
    99 def killdaemons(pidfile, tryhard=True, remove=False, logfn=None):
   103     if not logfn:
   100     if not logfn:
   104         logfn = lambda s: s
   101         logfn = lambda s: s