2024年5月5日发(作者:)
5.
RB_HALT_SYSTEM,
6.
RB_POWER_OFF,
7.
RB_AUTOBOOT
8.
};
9.
static const smallint signals[] = { SIGUSR1, SIGUSR2, SIGTERM };
10.
11.
int delay = 0;
12.
int which, flags, rc;
13.
14.
/* Figure out which applet we're running */
15.
for (which = 0; "hpr"[which] != applet_name[0]; which++)
16.
continue;
17.
18.
/* Parse and handle arguments */
19.
opt_complementary = "d+"; /* -d N */
20.
/* We support -w even if !ENABLE_FEATURE_WTMP,
21.
* in order to not break scripts.
22.
* -i (shut down network interfaces) is ignored.
23.
*/
24.
flags = getopt32(argv, "d:nfwi", &delay);
25.
26.
sleep(delay);
27.
28.
write_wtmp();
29.
30.
if (flags & 8) /* -w */
31.
return EXIT_SUCCESS;
32.
33.
if (!(flags & 2)) /* no -n */
34.
sync();
35.
36.
/* Perform action. */
37.
rc = 1;
38.
if (!(flags & 4)) { /* no -f */
发布评论