温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么每天在指定时间段运行程序及关闭程序

发布时间:2023-04-28 17:19:09 来源:亿速云 阅读:205 作者:iii 栏目:开发技术

这篇文章主要讲解了“python怎么每天在指定时间段运行程序及关闭程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么每天在指定时间段运行程序及关闭程序”吧!

    python每天在指定时间段运行程序及关闭程序

    场景

    程序需要在每天某一时间段内运行,然后在某一时间段内停止该程序。

    程序:

    from datetime import datetime, time
    import multiprocessing
    from time import sleep
    # 程序运行时间在白天8:30 到 15:30  晚上20:30 到 凌晨 2:30
    DAY_START = time(8, 30)
    DAY_END = time(15, 30)
    NIGHT_START = time(20, 30)
    NIGHT_END = time(2, 30)
    def run_child():
        while 1:
            print("正在运行子进程")
    def run_parent():
        print("启动父进程")
        child_process = None  # 是否存在子进程
        while True:
            current_time = datetime.now().time()
            running = False  # 子进程是否可运行
            if DAY_START <= current_time <= DAY_END or (current_time >= NIGHT_START) or (current_time <= NIGHT_END):
                # 判断时候在可运行时间内
                running = True
            # 在时间段内则开启子进程
            if running and child_process is None:
                print("启动子进程")
                child_process = multiprocessing.Process(target=run_child)
                child_process.start()
                print("子进程启动成功")
            # 非记录时间则退出子进程
            if not running and child_process is not None:
                print("关闭子进程")
                child_process.terminate()
                child_process.join()
                child_process = None
                print("子进程关闭成功")
            sleep(5)
    if __name__ == '__main__':
        run_parent()

    python定时程序(每隔一段时间执行指定函数)

    import os
    import time
    def print_ts(message):
        print "[%s] %s"%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), message)
    def run(interval, command):
        print_ts("-"*100)
        print_ts("Command %s"%command)
        print_ts("Starting every %s seconds."%interval)
        print_ts("-"*100)
        while True:
            try:
                # sleep for the remaining seconds of interval
                time_remaining = interval-time.time()%interval
                print_ts("Sleeping until %s (%s seconds)..."%((time.ctime(time.time()+time_remaining)), time_remaining))
                time.sleep(time_remaining)
                print_ts("Starting command.")
                # execute the command
                status = os.system(command)
                print_ts("-"*100)
                print_ts("Command status = %s."%status)
            except Exception, e:
                print e
    if __name__=="__main__":
        interval = 5
        command = r"ls"
        run(interval, command)

    感谢各位的阅读,以上就是“python怎么每天在指定时间段运行程序及关闭程序”的内容了,经过本文的学习后,相信大家对python怎么每天在指定时间段运行程序及关闭程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI