Linux内核的系统关闭如何在内部工作?
对于系统关闭时用户空间和init-system(经典的init sysV / upstart / systemd)如何工作,我有个大概的想法。(本质上是“ Stop!”,“请立即停止”,“我需要杀死您以停止的过程”并等待...的顺序。) 无论如何,我非常不知道内核中的系统关闭是如何工作的(肯定还有很多事情要做)? 我尝试查看内核文档https://www.kernel.org/doc/htmldocs/,甚至使用NSA的pal搜索工具为我提供了寻找其工作原理的开端。 我还搜索了SE U + L,却一无所获(我是否忽略了它?) 无论如何,尽管这个问题可能有点挑战性,但它会在这个问答网络中得到一个答案,因为我认为会有更多的人有兴趣了解关闭时Linux内核中发生的情况。 可能还会进行更改,以链接到一些更详细的说明。 答案可能包括使用哪些系统调用和哪些内核信号? https://github.com/torvalds/linux/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/arch/x86/kernel/reboot.c 似乎是与重启相关的x86使用文件(已经接近关机,是吗?) 也许 可以在http://lxr.free-electrons.com/source/kernel/reboot.c#L176此处找到的代码片段进行解释 176 void kernel_power_off(void) 177 { (178)第178章 第179章 180 pm_power_off_prepare(); 第181回 第182回 183 pr_emerg(“ Power down \ n”); 184 kmsg_dump(KMSG_DUMP_POWEROFF); 第185章 186} 第187章(二更)