Путь: Toys/Other, команды версии: Ver.4 Ver.9
reboot
Комментарии в файле reboot.c :
usage: reboot/halt/poweroff [-fn] [-d DELAY]
Перезапустите, остановите или выключите систему.
-d Подождите DELAY, прежде чем продолжить (в секундах или суффиксе m/h/d: -d 1,5m = 90 с)
-f Принудительная перезагрузка (не сигнализируйте об инициализации, перезагрузитесь напрямую)
-n Не синхронизируйте файловые системы перед перезагрузкой
usage: reboot/halt/poweroff [-fn] [-d DELAY]
Restart, halt, or power off the system.
-d Wait DELAY before proceeding (in seconds or m/h/d suffix: -d 1.5m = 90s)
-f Force reboot (don't signal init, reboot directly)
-n Don't sync filesystems before reboot
Исходный текст в файле reboot.c
#define FOR_reboot
#include "toys.h"
#include <sys/reboot.h>
GLOBALS(
char *d;
)
void reboot_main(void)
{
struct timespec ts;
int types[] = {RB_AUTOBOOT, RB_HALT_SYSTEM, RB_POWER_OFF},
sigs[] = {SIGTERM, SIGUSR1, SIGUSR2}, idx;
if (TT.d) {
xparsetimespec(TT.d, &ts);
nanosleep(&ts, NULL);
}
if (!FLAG(n)) sync();
idx = stridx("hp", *toys.which->name)+1;
if (FLAG(f)) toys.exitval = reboot(types[idx]);
else toys.exitval = kill(1, sigs[idx]);
}