Код: Выделить всё
$command = "npx http-server {0} -p {1}" -f $folder, $ports[$i]
Start-Process -FilePath "cmd.exe" -ArgumentList "/c", $command -WindowStyle Hidden
Я пытался воспроизвести то же самое с помощью сценария Python, чтобы все отчеты автоматически загружались в разные порты.
Но что бы я ни пробовал, это не работает: либо процесс завершается после завершения сценария, либо появляется окно терминала, плавающее вокруг моего рабочего стола с живым сервером, что работает, но раздражает, я бы хотел иметь его в качестве фона процесс.
Что я читал, это должно делать что-то вроде этого, что убивает процессы, как только мой скрипт завершается.
Код: Выделить всё
command = f"npx http-server \"{report_dir_abs}\" -p {port}"
subprocess.Popen(
command,
shell=True,
start_new_session=True,
creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP,
close_fds=True,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
stdin=subprocess.DEVNULL
)
Кто-нибудь знает, как я могу заставить это работать? Запустить процесс полностью отделенным от родительского процесса в фоновом режиме/скрытым от пользователя без плавающего окна?
Мобильная версия