我有一個python程序,我想每10秒運行一次,就像cron作業一樣。我不能在一個循環中使用睡眠,因爲時間間隔會變得不確定。我現在這樣做的方式是這樣的:Ubuntu上的Python Cron作業
interval = 10.0
next = time.time()
while True:
now = time.time()
if now < next:
time.sleep(next - now)
t = Thread(target=control_lights,)
t.start()# start a thread
next += interval
它生成一個執行contro_lights函數的新線程。問題是隨着時間的推移,python進程的數量會不斷增加,並佔用內存/ CPU。有沒有什麼好方法可以做到這一點?非常感謝
爲什麼不讓'cron'做到這一點? – Blender
@Blender:可能是因爲'cron'不能每分鐘運行一次以上。 –