zoukankan      html  css  js  c++  java
  • Linux Programmer's Manual --- reboot

    REBOOT(2) Linux Programmer's Manual REBOOT(2)

     

    NAME

    reboot - reboot or enable/disable Ctrl-Alt-Del

    SYNOPSIS


    /* For libc4 and libc5 the library call and the system call
    are identical, and since kernel version 2.1.30 there are
    symbolic names LINUX_REBOOT_* for the constants and a
    fourth argument to the call: */

    #include <unistd.h>
    #include <linux/reboot.h>

    int reboot(int magic, int magic2, int cmd, void *arg);

    /* Under glibc some of the constants involved have gotten
    symbolic names RB_*, and the library call is a 1-argument
    wrapper around the 3-argument system call: */

    #include <unistd.h>
    #include <sys/reboot.h>

    int reboot(int cmd);

    DESCRIPTION


    The reboot() call reboots the system, or enables/disables the reboot keystroke (abbreviated CAD, since the default
    is Ctrl-Alt-Delete; it can be changed using loadkeys(1)).

    This system call will fail (with EINVAL) unless magic equals LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead) and magic2
    equals LINUX_REBOOT_MAGIC2 (that is, 672274793). However, since 2.1.17 also LINUX_REBOOT_MAGIC2A (that is,
    85072278) and since 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 369367448) and since 2.5.71 also
    LINUX_REBOOT_MAGIC2C (that is, 537993216) are permitted as value for magic2. (The hexadecimal values of these
    constants are meaningful.) The cmd argument can have the following values:

    LINUX_REBOOT_CMD_RESTART
    (RB_AUTOBOOT, 0x1234567). The message "Restarting system." is printed, and a default restart is performed
    immediately. If not preceded by a sync(2), data will be lost.

    LINUX_REBOOT_CMD_HALT
    (RB_HALT_SYSTEM, 0xcdef0123; since 1.1.76). The message "System halted." is printed, and the system is
    halted. Control is given to the ROM monitor, if there is one. If not preceded by a sync(2), data will be
    lost.

    LINUX_REBOOT_CMD_POWER_OFF
    (0x4321fedc; since 2.1.30). The message "Power down." is printed, the system is stopped, and all power is
    removed from the system, if possible. If not preceded by a sync(2), data will be lost.

    LINUX_REBOOT_CMD_RESTART2
    (0xa1b2c3d4; since 2.1.30). The message "Restarting system with command '%s'" is printed, and a restart
    (using the command string given in arg) is performed immediately. If not preceded by a sync(2), data will
    be lost.

    LINUX_REBOOT_CMD_CAD_ON
    (RB_ENABLE_CAD, 0x89abcdef). CAD is enabled. This means that the CAD keystroke will immediately cause the
    action associated with LINUX_REBOOT_CMD_RESTART.

    LINUX_REBOOT_CMD_CAD_OFF
    (RB_DISABLE_CAD, 0). CAD is disabled. This means that the CAD keystroke will cause a SIGINT signal to be
    sent to init (process 1), whereupon this process may decide upon a proper action (maybe: kill all pro‐
    cesses, sync, reboot).

    Only the superuser may call reboot().

    The precise effect of the above actions depends on the architecture. For the i386 architecture, the additional
    argument does not do anything at present (2.1.122), but the type of reboot can be determined by kernel command-
    line arguments ("reboot=...") to be either warm or cold, and either hard or through the BIOS.

    RETURN VALUE


    For the values of cmd that stop or restart the system, a successful call to reboot() does not return. For the
    other cmd values, zero is returned on success. In all cases, -1 is returned on failure, and errno is set appro‐
    priately.

    ERRORS


    EFAULT Problem with getting userspace data under LINUX_REBOOT_CMD_RESTART2.

    EINVAL Bad magic numbers or cmd.

    EPERM The calling process has insufficient privilege to call reboot(); the CAP_SYS_BOOT capability is required.

    CONFORMING TO


    reboot() is Linux-specific, and should not be used in programs intended to be portable.

    SEE ALSO


    sync(2), bootparam(7), capabilities(7), ctrlaltdel(8), halt(8), reboot(8)

    COLOPHON


    This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information
    about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

     

    Linux 2008-02-11 REBOOT(2)

  • 相关阅读:
    MySQL之ERROR 1558 (HY000): Column count of mysql.user is wrong.解决方案
    手动发布本地jar包到Nexus私服
    Git的常用命令
    手游录屏直播技术详解 | 直播 SDK 性能优化实践
    【容器云】十分钟快速构建 Influxdb+cadvisor+grafana 监控
    【容器云】传统金融企业的 Docker 实践
    直播推流端弱网优化策略 | 直播 SDK 性能优化实践
    云存储之覆盖上传——七牛云
    「视频直播技术详解」系列之七:直播云 SDK 性能测试模型
    「视频直播技术详解」系列之六:现代播放器原理
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3423225.html
Copyright © 2011-2022 走看看