나는 단지 다음과 같은 차이점을 알고 싶습니다.
reboot
init 6
shutdown -r now
어느 것이 가장 안전하고 최선입니까?
답변1
그들 사이에는 차이가 없습니다. 내부적으로는 정확히 동일한 작업을 수행합니다.
reboot
shutdown
-r 스위치와 함께 명령을 사용합니다 . shutdown 명령은 실행 중인 모든 프로세스를 종료하고 모든 파일 시스템을 마운트 해제한 다음 마지막으로 커널에 ACPI 전원 명령을 실행하도록 지시합니다. 소스는 다음과 같습니다.여기에서 발견. 이전 배포판에서는 재부팅 명령이 신호를 내보내 프로세스를 강제로 종료했지만SIGKILL
(소스에서 여전히 사용 가능하며-f
옵션으로 호출할 수 있음), 최신 배포판에서는 기본값이 더 우아하고 초기화하기 쉬운 신호로 설정되었습니다init 1 -> shutdown -r
. 이렇게 하면 데몬이 종료되기 전에 자체적으로 정리됩니다.init 6
init
init 파일에 기록된 생성된 모든 프로세스/데몬을 (시작된 순서와 반대 순서로) 종료하고 마지막으로shutdown -r now
명령을 호출하여 시스템을 다시 시작하도록 프로세스에 지시 합니다.
요즘에는 두 명령이 정확히 동일한 작업을 수행하고 종료 스크립트를 호출하여 서비스/데몬을 시작하는 데 사용되는 init 스크립트를 따르기 때문에 큰 차이가 없습니다. reboot -f -r now
다음의 경우를 제외하고
왜 안전하지 않은지에 대한 간단한 설명이 맨페이지에 있습니다 reboot -f
.
-f, --force 즉시 강제 중지, 전원 끄기, 다시 시작. 초기화 시스템에 접속하지 마십시오.
편집하다:
systemctl
향후 RHEL 릴리스에서는 종료/다시 시작 명령을 실행하려면 새로운 명령을 사용해야 한다는 점을 언급하는 것을 잊어버렸습니다 . reboot
및 맨페이지에 명시된 대로 shutdown
"호환만을 위한 레거시 명령"입니다. 그리고 이 systemctl
방법이 유일한 안전한 방법이 될 것이다.
답변2
Off는 다음을 지정할 수 있으므로 더 나은 옵션입니다.이유과감한 조치를 취하십시오. 항상 해야 할 일입니다. 메시지는 나중을 위해 기록됩니다. 예를 들어:
shutdown -r now 'Kernel upgrade requires reboot'
당신은 또한 할 수 있습니다예정됨now
다시 시작 - 다시 시작 시간 이외의 다른 시간을 지정하여 :
shutdown -r 22:00 'Work around kernel memory leak'
그런 다음 시간이 다가올수록 사용자는 정기적인 알림을 받게 되며 프로세스는 더욱 체계적이고 전문적이게 됩니다.
답변3
reboot
FreeBSD에서는 shutdown -r now
. reboot
매뉴얼 페이지 에서 :
일반적으로 시스템을 중지하거나 다시 시작해야 할 때 shutdown(8) 유틸리티는 임박한 종말에 대해 사용자에게 미리 경고하고 특정 프로그램을 완전히 종료하는 데 사용됩니다.