Я пытаюсь найти, работает ли процесс на основе идентификатора процесса. Код выглядит следующим образом, основываясь на одном из сообщений на форуме. Я не могу рассматривать имя процесса, поскольку существует несколько процессов, работающих под тем же именем.
def findProcess( processId ):
ps= subprocess.Popen("ps -ef | grep "+processId, shell=True, stdout=subprocess.PIPE)
output = ps.stdout.read()
ps.stdout.close()
ps.wait()
return output
def isProcessRunning( processId):
output = findProcess( processId )
if re.search(processId, output) is None:
return true
else:
return False
Выход:
1111 72312 72311 0 0:00.00 ttys000 0:00.00 /bin/sh -c ps -ef | grep 71676
1111 72314 72312 0 0:00.00 ttys000 0:00.00 grep 71676
Он всегда возвращает true, так как он может найти идентификатор процесса в выходной строке.
Любые предложения? Спасибо за любую помощь.