天天看點

最簡單的Linux關機指令程式

#include <signal.h>

#include <stdio.h>

#include <unistd.h>

#include <sys/reboot.h>

int main(int argc, char **argv)

{

    /* first disable all our signals */   

    sigset_t set;

    sigfillset(&set);

    sigprocmask(SIG_BLOCK, &set, NULL);

    /* send signals to all processes  _except_ pid 1 */

    printf("sending SIGTERM signal to all processes\n");

    kill(-1, SIGTERM);

    sync();

    sleep(3);

    printf("sending SIGKILL signal to all processes\n");

    kill(-1, SIGKILL);

    /* shutdown */

    printf("system shutdown\n");

    sleep(2);

    reboot(RB_POWER_OFF);

}

繼續閱讀