Python - не может завершить консольный сценарий без taskkill / F - PullRequest
0 голосов
/ 24 октября 2019

У меня есть приложение на Python, которое установлено как console_script в Windows.

Я бы хотел, чтобы приложение какое-то время выполнялось как фоновый процесс, а затем я хотел бы завершить его.

Я запускаю процесс с помощью:

START /B <application_name>

И пытаюсь завершить его с помощью:

taskkill /PID <PID>

Однако, когда я пытаюсь завершить процесс, без опции силы, я получаюошибка:

ERROR: The process with PID 17836 could not be terminated.
Reason: This process can only be terminated forcefully (with /F option).

Кто-нибудь знает, как я должен расширить свое приложение Python, чтобы оно могло быть завершено без опции force?

Не уверен, что это важно, но я заметил, чтозапуск приложения фактически создает два процесса: процесс python.exe, который кажется родительским процессом, и процесс приложения.

1 Ответ

0 голосов
/ 05 ноября 2019

Я не уверен, что это делает «чистое» завершение процесса, но я обнаружил, что использование опции /T для taskkill гарантировало, что все родительские и дочерние процессы также будут завершены, что по крайней мере остановило процесс.

В конечном итоге команда становится:

taskkill /T /F /PID <pid_number>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...