需要在某个确定时刻执行某个命令
sched 的用法
通过调用scheduler.enter(delay,priority,func,args)函数,可以将一个任务添加到任务队列里面,当指定的时间到了,就会执行任务(func函数)。
delay:任务的间隔时间。
priority:如果几个任务被调度到相同的时间执行,将按照priority的增序执行这几个任务。
func:要执行的任务函数
args:func的参数
import time, os, sys, sched
schedule = sched.scheduler(time.time, time.sleep)
def perform_command(cmd, inc):
schedule.enter(inc, 0, perform_command, (cmd, inc)) # re-scheduler
os.system(cmd)
def main(cmd, inc=60):
schedule.enter(0, 0, perform_command, (cmd, inc)) # 0==right now
schedule.run()
if __name__ == "__main__":
numargs = len(sys.argv) - 1
if numargs < 1 or numargs > 2:
print("usage: " + sys.argv[0] + " command [seconds_delay]")
sys.exit(1)
cmd = sys.argv[1]
if numargs < 3:
main(cmd)
else:
inc = int(sys.argv[2])
main(cmd, inc)