python 定时 kill 掉

#!/usr/bin/python3import sysimport datetimeimport osimport timeif __name__ == '__main__':    while 1:
        startTime=datetime.datetime.now()
        main_path='./main.py'
        py=sys.executable
        status=os.system(r'{} {} {} {}'.format(py, main_path, sys.argv[1],sys.argv[2]))        if status==0:
            time.sleep(120)        else:
            endTime=datetime.datetime.now()            if endTime-startTime>60*60:                break

我现在启动一个脚本判断在超市 1小时后kill 掉,我这样写对吗?


梦里花落0921
浏览 878回答 1
1回答

侃侃无极

如果 status 永远返回 0, 程序停不下来如果执行status=os.system(r'{} {} {} {}'.format(py, main_path, sys.argv[1],sys.argv[2]))的时候hang住了,这个程序也停不下来如果需求仅是定时结束脚本,那么用定时器就可以做到, demo如下#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport timeimport threadingdef kill_me():     os._exit(1)if __name__ == '__main__':    # 3 秒退出     timer = threading.Timer(3, kill_me)     timer.start()    while 1:         print('xxxx')         time.sleep(1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python