基本上我正在编写一个可以随时停止和恢复的脚本。因此,如果用户使用PyCharm console
来执行程序,他只需要随时点击停止按钮即可。
现在,我需要保存一些变量,并在终止之前让正在进行的功能完成。我可以使用哪些功能?
我已经尝试atexit.register()
无济于事。
另外,如何在程序退出之前确保正在进行的功能已完成?
提前致谢
答案 0 :(得分:1)
使用非常糟糕的解决方法解决了这个问题。我使用了与Python中的exit相关的所有函数,包括SIG *函数,但唯一的是,当按下PyCharm应用程序中的“停止”按钮停止Python程序时,我找不到捕获退出信号的方法。最后通过使用tkinter打开一个空窗口,我的程序在后台线程中运行,然后使用它来关闭/停止程序执行。工作非常好,捕获SIG *信号以及执行atexit。无论如何,感谢@scrineym链接确实提供了很多有用的信息,这些信息确实帮助我开发了最终版本。
答案 1 :(得分:0)
看起来你可能想要发出信号。
当程序被告知停止从OS向进程发送信号时,您可以在退出之前捕获它们并进行清理。有许多不同的信号,例如当您按CTRL + C时,操作系统发送SIGINT信号以停止您的进程,但还有许多其他信号。