shutdown -t 가 정말로 하는 역할이 뭡니까?
shutdown 관련 man page 역시 여러번 읽어 봤지만 하나도 도움이 안되는 군요.
과연 man을 읽고서 결정적 도움을 받은적이 몇번이 있던가 하는 생각도 듭니다.
문제는 shutdown 할때 보통 shutdown -r now 하든가 shutdown -h now하던가 분단위로 시간을 입력하여 shutdown -h +10 "bye"하면 bye를 warning message로 하여 우선 바로 warning message를 보여주고 10분뒤에 다시 warning message를 보여주면서 halt하죠..
근데 inittab에 보면 ctrlaltdel할때 보통 다음과 같은 명령을 쓰는데
shutdown -t3 -r now
여기서 문득 -t3이 뭘까 궁굼해졌습니다.
우선 man을 봤죠.
man에서 말하길 warning message와 kill signal 간의 초단위 delay 랍니다.
그래서 저는 time을 그냥 쓰면 분단위고 -t를 함께 쓰면 초단위인가? 라고 생각했답니다.
그리고 뒤 이어서, 그렇다면의 위의 명령에서 now는 왜 썼을 까? 3초 delay가 있는데 now라는 time delay를 왜 이중을 적었을까 하는 생각이 들었죠.
그래서 우선 다음같이 해 봤죠.
shutdown -t30 -r
time parameter가 없다고 안됩니다.
shutdown -t 30 -r
역시
time parameter가 없다고 안됩니다.
그래서
shutdown -t30 -r now
또는
shutdown -t 30 -r now
그랬더니 30초를 기다리기는 커녕 바로 reboot하더군요.
그렇다면 도대체 -t 하는 역할을 무엇이란 말인가.
인터넷을 뒤져봤는데 누군가 저랑 똑같은 걸 궁굼해 했는데
제대로 답변이 없더군요.
알려주시면 감사하겠습니다.
shutdown -t 30
-t 뒤에 띄어 써야됩니다.
$ man shutdown SYNOPSIS
30분 뒤에 shutdown 하고 싶으면 shutdown +30
10시 10분에 shutdown 하고 싶으면 shutdown 10:10
-t는 프로세스에 warning 신호를 주고, 실제로 kill할때까지 기다리는 시간이라는 거 같습니다.
근데 왜 실제로 즉시 종료하는지는 다른분께서..ㅎㅎ
(기다릴 필요가 없어서 안기다리는거겠지요?)
아.. 제가 질문을 뛰엄뛰엄봤네요.. 막상
아.. 제가 질문을 뛰엄뛰엄봤네요..
막상 궁금해하신게 "왜 30초를 기다리지 않는가"였네요..
일단 time argument는 반드시 줘야합니다.
-t 30에 대해서 왜 정확히 30초를 기다리지 않는가에 대한대답은
1. 이미 모든 프로세스가 실제로 종료되었기때문이거나,
2. now라는 시간 argument가 주어지면 안기다리는다는 rule이 있거나..
1번일것 같습니다만,
2번일지도 모르는 이유는 역시 man 페이지를 보면
댓글 달기