You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中调试Python Telegram Bot无法终止进程的问题求助

解决Telegram Bot进程残留导致的409/401错误及强制终止方法

一、强制终止残留进程

Windows系统

  • 按Ctrl+Shift+Esc打开任务管理器,切换到「详细信息」标签
  • 找到所有python.exe或pythonw.exe进程,右键选择「结束任务」
  • 若不确定目标进程,打开命令提示符执行:
    tasklist | findstr python
    
    记下对应进程ID(PID)后,用命令强制终止:
    taskkill /F /PID <进程ID>
    

macOS/Linux系统

  • 打开终端,先查找相关Python进程:
    ps aux | grep python
    
  • 找到对应Bot的进程(可通过启动路径或命令参数判断),用进程ID终止:
    kill -9 <进程ID>
    
  • 若需批量终止所有Python进程(谨慎使用,会终止其他正在运行的Python程序):
    pkill -9 python3
    

二、避免进程残留的预防措施

  • 不要直接点击VSCode的停止按钮,给代码添加优雅退出逻辑,监听中断信号并让Bot停止轮询:
    import telebot
    import signal
    import sys
    
    bot = telebot.TeleBot("你的BotToken")
    
    def stop_bot(sig, frame):
        print("正在关闭Bot...")
        bot.stop_polling()
        sys.exit(0)
    
    # 绑定中断信号
    signal.signal(signal.SIGINT, stop_bot)
    signal.signal(signal.SIGTERM, stop_bot)
    
    # 你的Bot业务逻辑代码
    bot.infinity_polling()
    
  • 调试时使用VSCode的「调试控制台」按Ctrl+C发送中断信号,让Bot正常停止轮询,而非直接点击停止按钮

三、关于401错误的说明

你遇到的401未授权错误,确实是旧Token的残留进程持续向Telegram API发送请求导致的。彻底终止旧进程后,该错误会自动消失,无需频繁向BotFather申请新Token。

内容的提问来源于stack exchange,提问作者Nox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:42:38