用这种方式做定时任务可以吗,就是一个死循环:
package main
import "time"
import "os/exec"
func main() {
for i := 0; i < 10; i = 1 {
a := time.Now().Hour()
if a >= 0 && a <= 1 {
exec.Command("shutdown", "-s", "-t", "0").Start()
} else {
time.Sleep(300 * time.Second)
}
}
}
或者这样,也是一个死循环
import os
import time
time_h=int(time.strftime("%H"))
for i in range(10):
if (time_h>=0 and time_h<=1):
os.system("shutdown -s -t 0")
else:
time.sleep(300)
i=1
这种是一个递归函数,会不会爆栈
import time
import os
time_h=int(time.strftime("%H"))
def shutdown():
if (time_h<=1 and time_h>=0):
os.system("shutdown -s -t 0")
else:
time.sleep(300)
shutdown()
shutdown()
一般执行定时任务都用什么方法,windows的可以添加计划任务,Unix有Cron,但是自己实现该怎么做?