BAT запустить Python и убить его через некоторое время - PullRequest
1 голос
/ 20 июня 2019

Используя приведенный ниже скрипт в BAT-файле

pushd C:\Users\Me
python -m bot_py synology

Я выполняю скрипт Python, у которого никогда нет точки выхода (выполняется вечно).

Как можноЯ говорю в своем BAT-файле, что через некоторое время, например, через 5 часов, скрипт python должен быть уничтожен / завершен?

1 Ответ

1 голос
/ 20 июня 2019

Я создал командный файл, чтобы продемонстрировать некоторые компоненты для вашего решения: Примечание: Кредит этот ответ для извлечения PID, на что указывает @ JacobIRR.

TITLE Synology-Script

@echo off
for /F "tokens=2" %%K in ('
    tasklist /FI "WINDOWTITLE eq Synology-Script" /FI "Status eq Running" /FO LIST ^| findstr /B "PID:"    
') do (
    set pid=%%K
   echo %%K
)
echo "I'm scheduled to stop execution in 10 seconds"

timeout /t 10 /nobreak>nul
taskkill /PID %pid% /F

Я использовал пареметр TITLE, чтобы дать мне что-то для поиска, и искал это в команде фильтра списка задач из предложения этот вопрос . Я рекомендую , а не , включая пробелы в заголовке. Я использовал этот pid в качестве аргумента для taskkill, что завершает этот процесс.

timeout /t 10 /nobreak>nul

Это позволяет нам спать в течение 5 секунд, и нажимает 'Ctrl + C', чтобы держать его вне поля зрения. Вы можете установить 5 на любой желаемый интервал сна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...