shutdown -h ...
Posted by yoosee on Debian at 2005-05-20 23:42 JST1 時刻指定の shutdown @ FreeBSD / Linux
故あって 5/21 23:00 JST に何台かのサーバを shutdown する必要があるため、shutdown コマンドを仕掛けた。FreeBSD 4.10
# shutdown -h 0505212300 Shutdown at Sat May 21 23:00:00 2005. shutdown: [pid 57263]Debian GNU/Linuxk
# shutdown -h 0505212300 The system is going DOWN for system halt in 505212300 minutes!orz
2 で、結局
Debian sysvinit package の sysvinit-2.86.ds1/src/shutdown.c を見ると/* Decode shutdown time. */ for (sp = when; *sp; sp++) { if (*sp != ':' && (*sp < '0' || *sp > '9')) usage(); } if (strchr(when, ':') == NULL) { /* Time in minutes. */ wt = atoi(when); if (wt == 0 && when[0] != '0') usage(); } else { /* Time in hh:mm format. */ if (sscanf(when, "%d:%2d", &hours, &mins) != 2) usage(); if (hours > 23 || mins > 59) usage(); time(&t); lt = localtime(&t); wt = (60*hours + mins) - (60*lt->tm_hour + lt->tm_min); if (wt < 0) wt += 1440; } /* Shutdown NOW if time == 0 */ if (wt == 0) shutdown(halttype);結局 hh:mm か m (+m), now しかないのだった。舐めてる。ちなみに m >= 180 の場合、Shutdown Broadcast warning message は m % 60 == 0 の時(つまり一時間毎)に流れるらしい。