왜 다른 바이너리에서 재시작 기능을 제공해야 합니까?

왜 다른 바이너리에서 재시작 기능을 제공해야 합니까?

왜 다른 바이너리에서 재시작 기능을 제공해야 합니까?

shutdown -r

그리고

reboot

아니면 어떤 면에서 다른가요?

답변1

반드시 필요한 것은 아니지만 Unix의 역사와 버전의 다양성으로 인해 둘 다 있습니다.

해당 매뉴얼 페이지에서:

  • 종료 유틸리티는 4.0BSD에 나타납니다.
  • 재부팅 유틸리티는 AT&T UNIX 버전 6에 나타납니다.

종료는 더 다양하고 강력하며, 재부팅은 더 친숙하고 기억하기 쉽습니다.

shutdown을 사용하면 임시 매개변수(예: 5분 후 다시 시작)를 지정할 수 있으며 다음을 포함하여 다시 시작 외에도 많은 작업을 수행할 수 있습니다.

  • 실제로 종료하지 않고도 사용자를 쫓아낼 수 있습니다.
  • 시스템을 종료하는 대신 절전 모드로 전환할 수 있습니다.
  • 다시 시작하지 않고 간단히 종료할 수 있습니다(halt 명령과 유사).
  • 시스템의 사용자를 위한 사용자 정의 경고 메시지를 추가할 수 있습니다.

그러나 지금 시스템을 재부팅하려는 경우 reboot에는 shutdown -r now.

답변2

이 두 명령은 서로 다른 작업을 수행하지만 궁극적으로 서로를 호출할 수 있습니다.~인 것 같다같은 일을 하세요!

reboot실제로 하드웨어 재부팅을 트리거하기 위해 커널이 호출됩니다. 그러나 시스템을 종료할 준비가 된 경우에만 이 작업을 수행합니다. 모든 데몬과 사용자 프로세스를 중지하고 파일 시스템을 마운트 해제해야 합니다. 그래서 시스템 런레벨을 확인하고, 0이나 6이 아니면 실제로 주어진 명령을 호출합니다 shutdown.

shutdown시스템 실행 레벨이 변경됩니다. 실행 수준 변경(중지하려면 0으로 변경, 다시 시작하려면 6으로 변경) 데몬 종료, 파일 시스템 마운트 해제 등을 위해 /etc/rc0.d 또는 rc6.d에서 여러 스크립트를 실행합니다. 마지막으로, 이 스크립트는 haltor를 호출합니다 reboot. 이번에는 시스템이 올바른 실행 레벨에 있으며 커널에 다시 시작(또는 중지)하도록 지시합니다.

답변3

iconoclast가 작성한 것 외에도 두 프로그램 사이에는 shutdownis in /sbinrebootis in이라는 중요한 차이점이 있습니다 /usr/bin.

이것이 왜 중요합니까? 난 당신을 말할 것이다.

아래 내용은 /usr시스템이 최소한으로 작동할 수 있을 만큼 충분히 부팅될 때까지 사용 가능하지 않아도 되는 내용입니다. 전통적으로 별도의 파일 시스템에 마운트되지 않은 최상위 디렉터리( /bin, /etc등 ) /sbin는 시스템이 이 최소 유용 상태에 도달하면 사용할 수 있을 것으로 예상됩니다. 이 디자인에는 여러 가지 의미가 있습니다. 예를 들어 /usr/bin대안이 있는 경우 프로그램을 사용하는 SysV 초기화 스크립트에 "stop" 절을 작성하는 것은 나쁜 스타일입니다 ./bin/sbin

shutdown항상 사용할 수 있는 중요한 유틸리티입니다. reboot단지 편의 유틸리티일 뿐입니다.

관련 정보