restart , init 6 및 shutdown -r now 의 차이점은 무엇입니까?

restart , init 6 및 shutdown -r now 의 차이점은 무엇입니까?

나는 단지 다음과 같은 차이점을 알고 싶습니다.

  • reboot
  • init 6
  • shutdown -r now

어느 것이 가장 안전하고 최선입니까?

답변1

그들 사이에는 차이가 없습니다. 내부적으로는 정확히 동일한 작업을 수행합니다.

  • rebootshutdown-r 스위치와 함께 명령을 사용합니다 . shutdown 명령은 실행 중인 모든 프로세스를 종료하고 모든 파일 시스템을 마운트 해제한 다음 마지막으로 커널에 ACPI 전원 명령을 실행하도록 지시합니다. 소스는 다음과 같습니다.여기에서 발견. 이전 배포판에서는 재부팅 명령이 신호를 내보내 프로세스를 강제로 종료했지만 SIGKILL(소스에서 여전히 사용 가능하며 -f옵션으로 호출할 수 있음), 최신 배포판에서는 기본값이 더 우아하고 초기화하기 쉬운 신호로 설정되었습니다 init 1 -> shutdown -r. 이렇게 하면 데몬이 종료되기 전에 자체적으로 정리됩니다.

  • init 6initinit 파일에 기록된 생성된 모든 프로세스/데몬을 (시작된 순서와 반대 순서로) 종료하고 마지막으로 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

rebootFreeBSD에서는 shutdown -r now. reboot매뉴얼 페이지 에서 :

일반적으로 시스템을 중지하거나 다시 시작해야 할 때 shutdown(8) 유틸리티는 임박한 종말에 대해 사용자에게 미리 경고하고 특정 프로그램을 완전히 종료하는 데 사용됩니다.

답변4

전통적인 unices에서는 rebootshutdown -r now별개의 명령입니다. 일반적인 사용에서는 reboot단일 사용자 모드에서만 사용하는 것이 안전합니다.

shutdown -r now다양한 *nix에 걸친 표준적인 종료 방법이며 일반적으로 사용하기 더 안전하며 기능적으로 init 6.

초기화(8) 다시 시작(8)

관련 정보