版权所有 © 2014 tutorialspoint
#include <unistd.h> #include <linux/reboot.h>
int reboot(int magic, int magic2, int flag, void *arg);
在glibc下,一些相关的常量获得了符号名称RB_*,库调用是围绕3参数系统调用的1参数包装器。
#include <unistd.h> #include <sys/reboot.h>
int reboot(int flag);
除非magic等于LINUX_REBOOT_MAGIC1(即0xfee1dead)并且magic2等于LINUX_REBOOT_MAGIC2(即672274793),否则此系统调用将失败(返回EINVAL)。但是,从2.1.17开始,LINUX_REBOOT_MAGIC2A(即85072278)也被允许作为magic2的值,从2.1.97开始,LINUX_REBOOT_MAGIC2B(即369367448)也被允许,从2.5.71开始,LINUX_REBOOT_MAGIC2C(即537993216)也被允许。(这些常量的十六进制值是有意义的。)flag参数可以具有以下值:
上述操作的精确效果取决于体系结构。对于i386体系结构,附加参数目前没有任何作用(2.1.122),但是重启类型可以通过内核命令行参数('reboot=...')确定为热重启或冷重启,以及硬重启或通过BIOS重启。
sync (2)
ctrlaltdel (8)
halt (8)
reboot (8)
广告