def kill_child(child_name): """ Search (by "pid") for DataHaven.NET child process with name `child_name` and tries to kill it. """ killed = False for pid in dhnio.find_process([child_name+'.']): dhnio.kill_process(pid) dhnio.Dprint(6, 'child_process.kill_child pid %d' % pid) killed = True return killed
def alive(): global _CSpaceProcess if _CSpaceProcess is None: return False try: pid = _CSpaceProcess.pid except: return False if pid == 0: return False proclist = dhnio.find_process(['dhnet.']) if len(proclist) == 0: return False if pid not in proclist: return False return True
def kill(): global _CSpaceProcess if _CSpaceProcess is not None: try: _CSpaceProcess.signalProcess('KILL') # _CSpaceProcess.kill() dhnio.Dprint(6, 'transport_cspace.kill finished "dhnet" process') except: pass del _CSpaceProcess _CSpaceProcess = None killed = False for pid in dhnio.find_process(['dhnet.']): dhnio.kill_process(pid) dhnio.Dprint(6, 'transport_cspace.kill pid %d' % pid) killed = True if killed: pidpath = getPIDpath() if os.path.isfile(pidpath): try: os.remove(pidpath) dhnio.Dprint(6, 'transport_cspace.kill %s removed' % pidpath) except: pass