Я делаю программу на python, которая связывается с сервером minecraft и говорит ему запускать, останавливать или любые другие команды.Программа читает письмо и выполняет команду, полученную из письма.Когда программа вводит команду для запуска сервера, она останавливает программу на python до тех пор, пока сервер Minecraft не будет остановлен.
Я попытался открыть для программы пакетный файл, который запускает сервер, но затем я неЯ не могу заставить программу выключить ее, или ввести команды, или прочитать консоль.
if data[0]+data[1]+data[2]+data[3]+data[4]+data[5] == 'start ':
comm = data.replace('start ','')
try:
mb = int(float(comm)*1024)
#calls the command to start the server
call('java -Xmx' + str(mb) + 'M -Xms' + str(mb) + 'M -jar server.jar nogui')
#program freezes here until server is stopped
except Exception:
call('java -Xmx1024M -Xms1024M -jar server.jar nogui')
print("started server")
elif data == "stop server" or data == "stop":
call('stop')
elif data[0]+data[1]+data[2]+data[3]+data[4] == 'call ':
comm = data.replace('call ','')
call(comm)
print("called command")
elif data[0]+data[1]+data[2] == 'op ':
comm = data
call(comm)
print("op player")
else:
print("not a command")
deletemail(mail,i)
print("deleted item")
Я ожидал, что программа продолжит работу и ответит на электронные письма, но вместо этого она зависла.Программа продолжала нормально работать после остановки сервера.Я знаю, что это не ошибка, но есть ли способ заставить программу python продолжить работу, пока сервер работает?