This commit is contained in:
2022-01-20 13:49:30 +00:00
parent 951a6db050
commit f03ba7b785

View File

@@ -6,9 +6,15 @@ from typing import List
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
def __is_process(cmd:str, arr):
item = " ".join(arr)
if(item.endswith(cmd) or item.endswith(cmd.replace("\"", "")) or item == cmd or item == cmd.replace("\"", "")):
return True
return False
def isrunning(cmd:str): def isrunning(cmd:str):
for proc in psutil.process_iter(): for proc in psutil.process_iter():
if cmd == " ".join(proc.cmdline()): if __is_process(cmd,proc.cmdline()):
return True return True
return False return False
@@ -23,10 +29,10 @@ def startprocess(cmd):
def __killprocesses(killcmds:List, sysprocesses: List): def __killprocesses(killcmds:List, sysprocesses: List):
if killprocesses == None : if killcmds == None :
return False return False
for proc in sysprocesses: for proc in sysprocesses:
if any(" ".join(proc.cmdline()) == x for x in killcmds): if any( __is_process(x, proc.cmdline()) for x in killcmds):
proc.kill() proc.kill()
log.info("[onlyone][__killprocesses] -> processed killed : " + proc.name + "(" + proc.id + ")") log.info("[onlyone][__killprocesses] -> processed killed : " + proc.name + "(" + proc.id + ")")
return False return False
@@ -39,7 +45,7 @@ def killprocesses(killcmds:List):
def __forceoneprocessinstance(cmd:str, processes:List): def __forceoneprocessinstance(cmd:str, processes:List):
found = False found = False
for proc in processes: for proc in processes:
if " ".join(proc.cmdline()) == cmd: if __is_process(cmd, proc.cmdline()):
if found: if found:
proc.kill() proc.kill()
log.info("[onlyone][__forceoneprocessinstance] -> processed killed : " + proc.name + "(" + proc.id + ")") log.info("[onlyone][__forceoneprocessinstance] -> processed killed : " + proc.name + "(" + proc.id + ")")