Saya ingin tahu bagaimana cron
bekerja secara internal. Apakah proses terus memeriksa waktu saat ini dalam loop while tak terbatas (sehingga terus menghabiskan siklus CPU)? Atau apakah beberapa fungsi menghasilkan interupsi dan memberi tahu cron
daemon ?
Jawaban yang Diterima:
Saya pernah membaca kode sumber vixie-cron dan harus dirawat di rumah sakit. Namun jika Anda mencari “beberapa fungsi menghasilkan interupsi” pada suatu waktu di masa mendatang, Anda harus menyelidiki alarm(2)
panggilan Ia meminta kernel untuk mengirimi Anda sinyal SIGALRM
pada waktu yang dijadwalkan, yang kemudian dapat Anda tangkap. Sementara itu, proses Anda dapat melakukan sesuatu yang lain, atau sleep()
, seperti yang saya lakukan di rumah sakit.