Windows 7 64bit, python26
Я запускаю сервер minecraft, но иногда программа останавливается по разным причинам. Я хотел бы, чтобы новый экземпляр запускался, когда это произойдет.
Следующий код работает для notepad.exe, но продолжает порождать новые minecraft_servers, даже если предыдущий не остановился. Зачем? И что мне делать?
Я новичок в Python.
import Queue, thread, subprocess, time
results= Queue.Queue()
def process_waiter(popen, description, que):
try: popen.wait()
finally: que.put( (description, popen.returncode) )
process_count= 0
while True:
proc1= subprocess.Popen( "C:\\Users\\Bo\\AppData\\Roaming\\.minecraf\\Minecraft_Server.exe")
thread.start_new_thread(process_waiter,
(proc1, "1 finished", results))
process_count+= 1
time.sleep(10)
while process_count > 0:
description, rc= results.get()
print "job", description, "ended with rc =", rc
process_count-= 1