Python:检查程序是否已关闭

时间:2020-06-05 10:09:27

标签: python python-3.x

全部。

有没有一种使用Python的方法来检查是否请求关闭当前正在运行的脚本?例如,如果我按下右上角的X按钮(关闭程序按钮)将其关闭,或以任何其他方式结束脚本,脚本可以在结束之前做一些代码吗?示例:

# script goes here...

if Script_To_Be_Closed: # replace this with an actual line of code.
    do_stuff

2 个答案:

答案 0 :(得分:1)

您可以使用多个选项,例如捕获键盘中断,但最简单的方法是atexit,它在脚本结束时执行一个功能(实际上是一个硬过程终止)。

import atexit

def my_exit_function(some_argument):
    // Your exit code goes here
    print(some_argument)


if __name__ == '__main__':
    atexit.register(my_exit_function, 'some argument', )

    // Your script goes here

答案 1 :(得分:0)

您可以使用 shell 脚本来完成这项工作

你可以看到下面显示的脚本命令,它在执行命令运行python文件后调用自己。一旦python文件关闭,下一行将强制python命令再次运行。您还可以按照自己的方式自定义行为。

main.py

#!/bin/bash
python3 ./main.py
source ./infiniteRun.sh

如果您需要停止作业,只需编辑文件并删除最后一行 source ./infiniteRun.sh 并保存文件。