Scheduling如果電腦在指定時間關閉,
如果電腦在指定時間關閉,at
會稍後執行命令嗎?
我想用 安排作業
at
,但我不確定如果電腦在指定時間掛起會發生什麼: 電腦再次喚醒時會立即執行命令(如用anacron
)還是根本不執行(像cron
)?如果您指定一個作業絕對在過去的特定時間和日期執行,該作業將盡快執行。
這就是手冊頁所說的,但它與我的情況不太匹配:我不想指定過去執行的作業,我想在將來執行它並詢問
at
如果電腦將如何處理它正在睡覺呢。這不是電腦睡眠時執行命令的副本,因為此問題詢問是否
at
會喚醒電腦以執行命令,也不是如何防止 atd 執行過去的作業?因為這是關於如何防止at
執行那些“舊”作業(儘管答案非常好!)。
at
執行喚醒電腦之前應該執行的任何命令,但可能需要幾分鐘才能完成。你是否給它一個特定的日期甚至都沒有關係,因為你可以很容易地測試:$ sudo date -s "2017-12-15 23:57:00" $ at 23:59 17-12-15 <<<'echo executed >at_test' job 1 at Fri Dec 15 23:59:00 2017 # suspend, wake after four minutes $ date Sat Dec 16 00:01:17 CET 2017 $ cat <at_test || atq bash: /home/dessert/at_test: No such file or directory 1 Fri Dec 15 23:59:00 2017 a dessert # wait a few minutes $ cat <at_test || atq executed
因此,您添加的作業
at 20:00 today
很可能會在三天后再次打開電腦時突然執行。如果您想防止這種情況發生,您可以像這裡建議的那樣檢查作業本身的時間:如何防止 atd 執行過去的作業?