Ich möchte wissen, wie cron
funktioniert arbeitet intern. Überprüft der Prozess die aktuelle Zeit in einer Endlosschleife (wodurch kontinuierlich CPU-Zyklen verbraucht werden)? Oder erzeugt eine Funktion einen Interrupt und benachrichtigt den cron
Dämon ?
Akzeptierte Antwort:
Ich habe einmal den Vixie-Cron-Quellcode gelesen und musste ins Krankenhaus eingeliefert werden. Wenn Sie jedoch zu einem späteren Zeitpunkt nach „irgendeine Funktion erzeugen einen Interrupt“ suchen, sollten Sie den alarm(2)
untersuchen Systemaufruf. Es fordert den Kernel auf, Ihnen das Signal SIGALRM
zu senden zu einer festgelegten Zeit, die Sie dann erreichen können. In der Zwischenzeit kann Ihr Prozess etwas anderes tun oder sleep()
, wie ich es im Krankenhaus getan habe.