如何安排python脚本在给定时间退出 [英] How to schedule python script to exit at given time

查看:64
本文介绍了如何安排python脚本在给定时间退出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要安排一个python脚本,该脚本可以在给定的时间退出并自行杀死它.对于调度,我使用的是python schedule ,下面是代码:

I need to schedule a python script which can exit and kill it self at a given time. For scheduling, I am using python schedule and below is the code:

import schedule
from threading import Thread
import time
import sys


def exit_data():
    print("Exiting")
    sys.exit()

def exit_data_thread():
    schedule.every().day.at('13:20').do(exit_data)
    while True:
        schedule.run_pending()
        time.sleep(1)


def main():
    Thread(target=exit_data_thread).start()

    while True:
        time.sleep(1)

main()

函数 exit_data()在给定时间运行,并显示 Exiting ,但不退出.它只打印 Exiting ,然后继续运行.我还使用了 quit 而不是 sys.exit().请帮忙.谢谢

Function exit_data() runs at given time and it prints Exiting but do not exit. It only prints Exiting and then it keeps running. I have also used quit instead of sys.exit(). Please help. Thanks

推荐答案

尝试向自己发送信号:p

Try to send signal to yourself :p

import schedule
from threading import Thread
import time
import sys
import os
import signal


def exit_data():
    print("Exiting")

    # sys.exit()
    os.kill(os.getpid(), signal.SIGTERM)

def exit_data_thread():
    schedule.every(3).seconds.do(exit_data)
    while True:
        schedule.run_pending()
        time.sleep(1)


def main():
    Thread(target=exit_data_thread).start()

    while True:
        time.sleep(1)

main()

这篇关于如何安排python脚本在给定时间退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆