Chci vědět, jak cron
působí interně. Kontroluje proces aktuální čas v nekonečné smyčce while (takže neustále spotřebovává cykly CPU)? Nebo nějaká funkce vygeneruje přerušení a upozorní cron
démon?
Přijatá odpověď:
Jednou jsem četl zdrojový kód vixie-cronu a musel jsem být hospitalizován. Pokud však v budoucnu hledáte „nějaká funkce generuje přerušení“, měli byste prozkoumat alarm(2)
systémové volání. Požádá jádro, aby vám poslalo signál SIGALRM
v naplánovaný čas, který pak můžete stihnout. Mezitím může váš proces dělat něco jiného, neboli sleep()
, jako jsem to udělal v nemocnici.