背景
我写了一个聊天机器人,当它启动时,它会发送有关其工作开始的消息,当它停止时,它会发送有关终止的消息
该机器人通过 LongPoll API 工作,因此仅通过关闭它ctrl+c并不方便,可能需要很长时间才能到达它KeyboardInterrupt(25 秒)
我通过运行代码shift+f10,即 在 PyCharm 中正常启动并停止ctrl+f2
退出设置
atexit.register(self.api.tell_all, data=self.data, message='Бот выключен')
PyCharm
停止时,PyCharm 说它用代码 -1 终止了进程,但atexit它不起作用。仅当您在代码中明确编写它时,它才exit(КОД)有效,或者当您收到异常时
问题
我是否以某种方式设置错误atexit并且一切都应该正常工作,或者 PyCharm 是否像那样杀死了这个过程?
希望能够通过触发器停止机器人,atexit而无需每次等待 25 秒
通过停止项目
Shift+F2终止脚本,而不是解释器atexit当解释器关闭时调用您可以尝试阻止