다른 바이너리에서 재부팅 기능이 필요한 이유는 무엇입니까?


12

다른 바이너리에서 재부팅 기능이 필요한 이유는 무엇입니까?

shutdown -r

reboot

아니면 다른 점이 있습니까?


1
구별에 대해서는 unix.stackexchange.com/questions/8690/… 을 참조하십시오 . 명령은 운영 체제에 따라 다르게 작동 할 수 있지만 일반적으로 Linux에서 동일한 작업을 수행합니다.
PleaseStand

아래에 언급되고 unix.stackexchange.com/a/196014/5132 에서 자세히 설명 된 것처럼 이 질문의 전제는 시스템 Linux 운영 체제에서 거짓입니다. 이러한 시스템 에서는 서로 다른 바이너리 가 아닙니다 .
JdeBP

답변:


15

둘 다 필요하지는 않지만 Unix의 역사와 여러 버전으로 인해 둘 다 있습니다.

해당 매뉴얼 페이지에서 :

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

시스템 종료는보다 범용적이고 강력하지만 재부팅은 더 친숙하고 기억하기 쉽습니다.

shutdown을 사용하면 임시 인수 (예 : 5 분 후에 다시 시작)를 지정하고 재부팅 외에 다음을 포함하여 많은 작업을 수행 할 수 있습니다.

  • 당신은 사용자를 시작하고 실제로 종료 할 수 없습니다
  • 시스템을 종료하지 않고 절전 모드로 전환 할 수 있습니다
  • halt 명령과 같이 재부팅하지 않고 간단히 종료 할 수 있습니다
  • 시스템 사용자에게 사용자 정의 경고 메시지를 포함시킬 수 있습니다

그러나 지금 시스템을 재부트하려면을 입력하는 reboot것이 더 쉽습니다 shutdown -r now.


1
재미있는 사실 : 현재 일부 버전은 shutdown기본 으로 사용됩니다. shutdown -h특히 데이터 센터 어딘가에있는 서버가 아닌 시스템 종료에 대한 도움을 받으려고하지 마십시오 .
Residuum

6

두 명령은 서로 다른 작업을 수행하지만 서로 호출 할 수 있으므로 동일한 작업을 수행하는 것 같습니다 !

reboot실제로 하드웨어 재부팅을 트리거하기 위해 커널을 호출합니다. 그러나 시스템이 종료 준비가 된 경우에만이 작업을 수행합니다-모든 데몬 및 사용자 프로세스를 중지하고 파일 시스템을 마운트 해제해야합니다. 따라서 시스템 실행 수준을 확인하고 0 또는 6이 아닌 경우 실제로 호출합니다. shutdown당신을위한 명령.

shutdown시스템 런레벨이 변경됩니다. (재부팅 정지 또는 6 0) 런레벨 변경 /etc/rc0.d에서 스크립트를 많이 또는 rc6.d을 실행합니다 마지막으로 등 종료 내려 데몬, 파일 시스템을 마운트 해제, 이러한 호출 스크립트 halt또는 reboot- 시스템에이 시간 올바른 실행 수준으로 커널에 재부팅 (또는 중지)을 지시합니다.


6

: 우상 파괴자가 쓴뿐만 아니라, 두 프로그램 사이에 중요한 차이점 거기 shutdown에있는 /sbin동안 reboot이다 /usr/bin.

왜 이것이 문제가됩니까? 난 당신을 말할 것이다.

아래의 상황이 /usr시스템이 충분히 시스템이 최소한의 작동하는지 부팅 될 때까지 사용할 수없는 것들이다. 전통적으로 별도의 파일 시스템에 설치되지 않습니다 최상위 디렉토리는 - /bin, /etc, /sbin, 등 - 시스템이 최소한의 유용한 상태에 도달하는 동안 출시 될 예정이다. 이 디자인에는 다양한 의미가 있습니다. 예를 들어 또는에 /usr/bin대안이있는 경우 프로그램을 사용하는 SysV init 스크립트의 "stop"절을 작성하는 것은 좋지 않습니다 ./bin/sbin

shutdown항상 사용할 수있는 핵심 유틸리티입니다. reboot편리한 유틸리티입니다.


1
reboot/sbin(SysVinit에서와) 데비안과 (신출내기와) 우분투한다.
Gilles 'SO- 악마 그만해

자, 메타-대답 : 당신의 시스템을 아십시오. :) CentOS를 가장 자주 사용합니다.
워렌 영

/ sbin
daisy에서

실제로, systemd 리눅스 시스템을 운영하지 systemd와 마찬가지로 키 유틸리티입니다 모두 이러한 명령입니다합니다 (systemd DOCO이 그것을 가지고 같이) "호환성"명령을. 실제로 질문의 전제는 거짓입니다. 그들은 다른 바이너리에 없습니다 . 자세한 내용은 unix.stackexchange.com/a/196014/5132를 참조하십시오 .
JdeBP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.