2010-10-20 30 views
31

"Modern" cron daemonları içersinde işlerini nasıl planlayabilir? Bazı crond s, at aracılığıyla sık sık bir çalışma zamanlamak için kullanılır. Bir crontab dışarı yazılır Yani sonra, crond yapar:Cron dahili olarak işleri nasıl planlar?

  1. aralıkları için gelecekteki tüm etkinlikler için crontab ve uyku Ayrıştırma?
  2. Geçerli zamanın zamanlama düzeniyle eşleşip eşleşmediğini belirlemek için her dakika toplanmış bir crontab veritabanını sorgulayın.
  3. Diğer?

sayesinde bu soru duydum

cevap

44

Birkaç cırcır. İyi 'ol bazı ayrık olay simülasyon kağıtları ile RTFC ve Wikipedia:

http://en.wikipedia.org/wiki/Cron#Multi-user_capability

şöyle bu cron tarafından kullanılan algoritma şudur: başlatmada

  1. , bir dosya arayın Tüm hesap sahipleri ev dizinlerinde .crontab.
  2. Bulunan her bir crontab dosyası için, her bir komutun çalıştırılacağı gelecek bir sonraki numaralı satırı belirleyin.
  3. Franta-Maly olay listesindeki bu komutları, ilgili zamanları ve "beş alanı" zaman belirteci ile .
    1. gelecekte bunun çalıştırılmak üzere ne kadar hesaplamak, sıranın başında görev girişini inceleyin:
    2. ana döngü girin.
    3. Bu süre için uyku.
    4. Uyanışta ve doğru saati doğruladıktan sonra, numaralı kuyruğun başındaki (arka planda) numarasını, tarafından oluşturulan kullanıcı ayrıcalıklarıyla çalıştırın.
    5. bu komutu çalıştırmak ve cron` `` için man` sayfa dayanarak
+1

, görünüşe o zaman olay listesinde onu geri yerleştirmek için gelecekte bir dahaki sefere belirleyin Bir işin çalışıp çalışmadığını kontrol etmek için her dakika uyanır: "cron her dakika uyanır, tüm saklanmış crontabları inceler, her bir komutu kontrol ederek o anki dakika içinde çalışıp çalışmadığını kontrol et." Bu, Debian'a (Paul Vixie tarafından yazılmış) kurulan Vixie Cron'dan. Tarif ettiğin algoritmanın her dakika uyanırken çok pahalı olduğunu düşünüyorum. – Paul

+1

Man sayfası: http://www.unix.com/man-page/debian/8/cron/ – Paul

+0

Online bir yerde bir franta-maly olay listesi açıklaması bulabilseydim. Bu ortak bir veri yapısı mı? –

İlgili konular