怎么让 Python 程序在被关掉的时候自动执行一个函数?

87 天前
 KIRAYOMATO
GPT 说用 SIGNAL 或 win32api 捕捉关闭信号,但是我试了一下都只能在用 Ctrl+C 关闭的时候能成功触发。我想要能在直接把 python 的窗口关掉的时候也能执行这个功能
2323 次点击
所在节点    Python
8 条回复
nagisaushio
87 天前
KIRAYOMATO
87 天前
@nagisaushio 这个方法试了也是直接关掉窗口的话是不会触发的
ysc3839
87 天前
Windows 关闭控制台窗口不行,控制台进程退出,系统会直接杀死连接到该控制台下的所有进程。
要关闭窗口时执行代码,只能自己创建窗口。
sagaxu
87 天前
父进程做成无窗口模式,创建 Python 子进程,子进程中创建窗口,父进程检测到子进程退出时执行动作。
SenLief
87 天前
如果只用 py 实现,那应该只能用子进程,让父进程守护,子进程退出后发出信号让父进程执行。
wevsty
86 天前
GUI 程序可以自己处理 WM_CLOSE 消息
控制台程序如果注册 SIGNAL 不能满足要求,那就只能自己做守护进程。
GeekGao
85 天前
4 楼正解
yxgcdnncj
72 天前
signal.signal(signal.SIGTERM, signal_handler)
signal.signal(signal.SIGINT, signal_handler)
用这种方式 检测到关闭信号的时候 做处理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1077405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX