Bilgisayar belirtilen zamanda kapalıysa `at` daha sonra bir komut çalıştırır mı?


20

İşleri zamanlamak istiyorum at, ancak bilgisayar belirtilen zamanda askıya alınırsa ne olacağından emin değilim: Bilgisayar tekrar uyanır uyanmaz (gibi anacron) veya hiç yürütülmeyecek mi? (gibi cron)?

Geçmişte belirli bir saat ve tarihte kesinlikle çalıştırılacak bir iş belirtirseniz, iş mümkün olan en kısa sürede çalışır.

Manpage bu konuda söylüyor, ancak benim durumumla tam olarak eşleşmiyor: Geçmişte çalışacak bir iş belirtmek istemiyorum, gelecekte çalıştırmak atve bilgisayar varsa nasıl davranacağını sormak istiyorum o zaman uyuyor.

Bu, bilgisayar uyku sırasında Çalıştır komutunun bir kopyası değildir , çünkü bu soru atbilgisayarı komutu yürütmek için uyandırıp uyandırmayacağını sorar , ne de atd'nin geçmiş işleri çalıştırmasını nasıl önlerim? çünkü bu at“eski” işleri yapmayı nasıl önleyeceğinizle ilgilidir (yine de çok iyi bir cevapla!).

Yanıtlar:


20

atbilgisayarı uyandırdığınızda daha önce yürütülmesi gereken komutları yürütür, ancak bunu yapmak birkaç dakika sürebilir. Kolayca test edebileceğiniz için belirli bir tarih verip vermediğinizin bir önemi yoktur :

$ 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

Böylece at 20:00 todayüç gün sonra bilgisayarınızı tekrar açtığınızda kullanarak eklediğiniz bir iş birden iyi bir şekilde gerçekleştirilebilir. Bunu önlemek istiyorsanız, işin kendisinin zamanını burada önerildiği gibi kontrol edebilirsiniz: ATD'nin geçmiş işleri çalıştırmasını nasıl önleyebilirim?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.