У меня есть это:
def get_process():
pids = []
process = None
for i in os.listdir('/proc'):
if i.isdigit():
pids.append(i)
for pid in pids:
proc = open(os.path.join('/proc', pid, 'cmdline'), 'r').readline()
if proc == "Something":
process = pid
return process
def is_running(pid):
return os.path.exists("/proc/%s" % str(pid))
Тогда я делаю это:
process = get_process()
if process == None:
#do something
else:
#Wait until the process end
while is_running(process):
pass
Я думаю, что это не лучший способ дождаться завершения процесса, должна быть какая-то функция wait или что-то в этом роде, но я не могу ее найти.
Отказ от ответственности: процесс не является дочерним процессом