Nasıl olduysa, kullanıcı alanı ve init sistemi (klasik init sysV / upstart / systemd) sistemin kapatılmasında nasıl çalıştığı hakkında kabaca bir fikrim var. (Temelde "Dur!", "Lütfen şimdi dur lütfen", "Sizi Durdurmak için İhtiyacım Olan Süreç" ve devam eden ... bir şeyler sırası var.
Her neyse, sistemin kapatılmasının çekirdekte nasıl çalıştığından habersizim (nerede mutlaka yapılacak çok şey var)?
Çekirdek belgelerine https://www.kernel.org/doc/htmldocs/ göz atmaya çalıştım ve hatta nasıl çalıştığını öğrenmeye başlamam için NSA'nın arama aracını bile kullandım .
Ayrıca SE U + L'yi aradım ve hiçbir şey bulamadım (gözden kaçırdım mı?)
Her halükarda soru, biraz zor olsa da, daha fazla kişinin kapanırken linux çekirdeğinde neler olduğuna dair bir taslak almakla ilgilendiklerini düşündüğümden, bu Soru ve Cevap ağında bir cevabı hak eder.
Potansiyel olarak daha ayrıntılı açıklamalara bağlantıda değişiklik de vardır.
Bir cevap belki hangi sistem çağrılarını ve hangi çekirdek sinyallerinin kullanıldığını içerebilir?
https://github.com/torvalds/linux/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/arch/x86/kernel/reboot.c , yeniden başlatma ile ilgili kullanılan x86 dosyası gibi görünüyor (zaten kapanmaya, eh?)
belki burada bulunan snippet http://lxr.free-electrons.com/source/kernel/reboot.c#L176 bir açıklama yapmak için kullanılabilir
176 boşluk kernel_power_off (boşluk) 177 { 178 kernel_shutdown_prepare (SYSTEM_POWER_OFF); 179 eğer (pm_power_off_prepare) 180 pm_power_off_prepare (); 181 migrate_to_reboot_cpu (); 182 syscore_shutdown (); 183 pr_emerg ("Kapatma \ n"); 184 kmsg_dump (KMSG_DUMP_POWEROFF); 185 makina_power_off (); 186} 187 EXPORT_SYMBOL_GPL (kernel_power_off);
shutdown(8)
yani kaldırılan -n
Birini düşünmek okumak için kullanılan eski unix belgelerinde " kapatma sistemini kendimizi -! Çekirdek birimi AÇIK YANGIN olan " etkin biçimde dağınık bir sistem öldürmek anahtarı hangi bitleri zemine dağılmış olarak bırakabilir (veya en azından bozuk bir durumdaki dosya sistemlerini). Biri bunun, bir kişinin elini sadece bir soğutma fanına yakaladığı ana çerçeve tipi bir sistem için kullanılabileceğini düşünür. 🕱