Win 11 и Python. Помогите запустить отдельный фоновый процесс с помощью команды npx http-server.Python

Программы на Python
Ответить
Anonymous
 Win 11 и Python. Помогите запустить отдельный фоновый процесс с помощью команды npx http-server.

Сообщение Anonymous »

Я работаю с несколькими пакетами Playwright, и мне приходится последовательно проверять их HTML-отчеты, которые я могу загрузить в порт в отдельном процессе с помощью этой команды в Powershell:

Код: Выделить всё

$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
)
Но я пробовал изменить оболочку , стереть start_new_session, не использовать флаги создания, также добавил файл в стандартный вывод и stderr, чтобы проверить, происходит ли что-то (возможно, ошибка), но файл оказывается пустым.
Кто-нибудь знает, как я могу заставить это работать? Запустить процесс полностью отделенным от родительского процесса в фоновом режиме/скрытым от пользователя без плавающего окна?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»