蝙蝠运行python并在一段时间后杀死它

蝙蝠运行python并在一段时间后杀死它,python,windows,batch-file,Python,Windows,Batch File,在BAT文件中使用下面的脚本 pushd C:\Users\Me python -m bot_py synology 我执行一个python脚本,该脚本从不有一个退出点(永远运行) 我如何在我的BAT文件中指出,在一段时间后(例如5小时),python脚本应该被终止/退出?我创建了一个批处理文件来演示解决方案的一些组件: 注意:将@JacobIRR指出的PID提取归功于 TITLE Synology-Script @echo off for /F "tokens=2" %%K in ('

在BAT文件中使用下面的脚本

pushd C:\Users\Me
python -m bot_py synology
我执行一个python脚本,该脚本从不有一个退出点(永远运行)


我如何在我的BAT文件中指出,在一段时间后(例如5小时),python脚本应该被终止/退出?

我创建了一个批处理文件来演示解决方案的一些组件: 注意:将@JacobIRR指出的PID提取归功于

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
我使用标题参数表给了我一些要搜索的内容,并在提供的tasklistfilter命令中进行了搜索。我推荐你的名字。我将此pid用作taskkill的参数,taskkill将终止此进程

timeout /t 10 /nobreak>nul

这可以让我们睡眠5秒钟,并将“按ctrl+c”填充到nul,以使其不可见。您可以将5设置为所需的睡眠时间间隔。

任务调度程序适用于此类情况。。。但如果必须使用批处理文件,则可以通过类似于
任务列表| findstr
的方式获取进程ID。。。然后杀死该进程
taskkill/F/PID 18424
。这有一些关于从任务列表搜索中获取PID的提示: