Set ProcessController's process file descriptors to None, and renamed START_COMMAND to START_COMMAND_FILE to load start command from a file

This commit is contained in:
Padawan-GM 2025-12-17 17:40:04 +01:00
parent cd2eb8de9d
commit c982968310
2 changed files with 12 additions and 7 deletions

View file

@ -1,21 +1,24 @@
import shlex
from collections import deque
from pathlib import Path
from subprocess import PIPE, Popen
from subprocess import Popen
from threading import Lock
from time import sleep
from typing import Literal
from mcrcon import MCRcon
from mcstatus import JavaServer
from classes import ProcessStatus, ServerStatus
from config import Config
from logs import logger
from mcrcon import MCRcon
from mcstatus import JavaServer
class ProcessController:
def __init__(self):
self.start_command: list[str] = shlex.split(Config.START_COMMAND)
self.start_command: list[str] = shlex.split(
Path(Config.START_COMMAND_FILE).read_text()
)
self.process: Popen | None = None
self.last_status: Literal[ProcessStatus.STOPPED, ProcessStatus.CRASHED] = (
ProcessStatus.STOPPED
@ -36,8 +39,10 @@ class ProcessController:
self.process = Popen(
self.start_command,
stdout=PIPE,
stderr=PIPE,
stdout=None,
stderr=None,
stdin=None,
start_new_session=True,
)
logger.info(
"ProcessController.start() - Started process with PID: %s",