在 Linus Torvalds 的维基百科页面上,它指出:
'Linux 内核的重启系统调用接受他们的出生日期(以十六进制写)作为魔法值'。
Linux 重启功能的文档显示它需要两个幻数,“magic”和“magic2”也重启。
这些神奇数字的目的是什么?为什么没有它们该功能无法运行?
谢谢
快速搜索一下您的问题会得到答案;
http://www.eeggs.com/items/44291.html
为了防止在不经意间调用 reboot() 系统调用,您必须在前两个参数中传递一对魔术值。第一个魔法值是 0xfee1dead。第二个魔法值是以下之一:
$ grep LINUX_REBOOT_MAGIC include/linux/*.h
include/linux/reboot.h:#define LINUX_REBOOT_MAGIC1 0xfee1dead
include/linux/reboot.h:#define LINUX_REBOOT_MAGIC2 672274793
include/linux/reboot.h:#define LINUX_REBOOT_MAGIC2A 85072278
include/linux/reboot.h:#define LINUX_REBOOT_MAGIC2B 369367448
include/linux/reboot.h:#define LINUX_REBOOT_MAGIC2C 537993216
这些是对 Linus 重要的日期;提示您可以使用 perl 将它们转换为日期:
$ perl -e 'print localtime(672274793). "\n";'
1991 年 4 月 21 日星期日 18:59:53
这是 Linus 首次开始编写 Linux 的日期。其他日期的意义留给读者作为练习;-)