답변:
일반적으로 shutdown
명령을 사용합니다 . 종료 또는 재부팅 전에 시간 지연 및 경고 메시지를 표시 할 수 있으며 이는 다중 사용자 셸 서버의 시스템 관리에 중요합니다. 다운 타임에 대한 사전 통지를 사용자에게 제공 할 수 있습니다.
따라서 shutdown 명령을 사용하여 컴퓨터를 즉시 중지 / 끄십시오 (최소한 Linux 및 FreeBSD에서).
shutdown -h now
또는 30 분 전 사용자 정의 경고로 재부팅하려면 다음을 수행하십시오.
shutdown -r +30 "Planned software upgrades"
지연 후 실행 레벨 0 (정지) 또는 6 (재부팅)으로 변경하도록 shutdown
지시 init
합니다. (생략 -h
하거나 생략 -r
하면 시스템이 단일 사용자 모드 (런레벨 1)로 전환되어 대부분의 시스템 프로세스를 종료하지만 실제로 시스템을 정지 시키지는 않습니다. 관리자는 여전히 루트로 로그인 상태를 유지할 수 있습니다.)
시스템 프로세스가 종료되고 파일 시스템이 마운트 해제되면 시스템이 중지 / 전원을 끄거나 자동으로 재부팅됩니다. 변경 사항을 디스크에 동기화 한 다음 실제 중지 / 전원 끄기 또는 재부팅을 수행 하는 halt
or reboot
명령을 사용하여 수행합니다.
경우 리눅스, halt
또는 reboot
시스템이 이미 종료 프로세스를 시작하지 않은 때 실행되는, 그것은 호출합니다 shutdown
직접 의도 한 작업을 수행하기보다는 자동이 아니라 명령을 사용합니다. 그러나 FreeBSD와 같은 시스템 에서 이러한 명령은 먼저 작업에 로그인 wtmp
한 다음 프로세스를 종료하거나 파일 시스템을 마운트 해제하지 않고 즉시 중지 / 재부팅 자체를 수행합니다.
halt
의 reboot
, 및 shutdown
프로그램 이 없습니다 . 하나의 단일 프로그램이 있으며 내부에는 하나의 코드 경로로 유입되는 많은 명령 줄 파서가 있습니다. 달리기 레벨도 없습니다. 종료는 단일 사용자 모드로 진행되지 않습니다. 실제로 단일 사용자 모드 자체의 이름이 바뀌 었습니다. 자세한 내용은 unix.stackexchange.com/a/196014/5132를 참조하십시오 .
1980 년대에, BSD의가 있었다 halt
, reboot
하고 shutdown
. 시스템 5 UNIX에는 BSD 호환성 도구 세트가있었습니다. 그러나 기본적으로 고유 한 shutdown
명령 이있었습니다 . 그리고 전혀 없었 halt
거나 전혀 없었 reboot
습니다. (일부 시스템 5 변형에는 SCO XENIX와 같은 것이 haltsys
있습니다.)
BSD halt
와 reboot
명령은 저수준, 과감하고 즉각적이었습니다. BSD 시스템을 종료 하는 사려 깊은 방법은 사용자에게 메시지, 정상적으로 종료 된 서비스, 기록 된 로그 항목, 로그인 비활성화 등의 shutdown
모든 작업을 수행 하는 명령 이었습니다 wall
.
BSD가받은 지혜가 " shutdown
execs halt
/ reboot
"이며, 후자는 조심스럽게 사용되어야한다고 주장한 곳이 대부분 이었다. 사람들은 그 반대로 습관을 배운 곳은 시스템 (5) 세계했다 halt
/ reboot
: 단지 편리 shorthands 아무것도 더이었다 /usr/ucb/halt
은 "BSD 호환성 패키지"에서, 효과 다르지 않았다 shutdown -h
. 그들 둘 다하고 있었다 init 0
.
halt
. 1982-05-11. 4.2BSD 매뉴얼.haltsys
. 2005-06-03. SCO OpenServer 매뉴얼.오늘날 우리는 다양한 시스템 관리 도구 세트를 보유하고 있습니다. BSD는 여전히 1990 년대 AT & Tism을 제거했지만 툴셋을 가지고 있습니다. 1992 년 Miquel van Smoorenburg는 Linux init
+ rc
및 관련 도구를 작성했는데, 실제로 UNIX System 5의 소프트웨어는 아니지만 사람들이 "System 5 init"로 지칭합니다. init
). 도 있습니다 systemd , 신출내기 , 그리고 요기 가, 각각의 독자적인 구현 의 halt
, reboot
, fasthalt
, fastboot
, 등을.
툴셋도 커지고 변경되었습니다. poweroff
대부분의 현대 기계의 중앙 처리 장치가 전원 공급 장치를 제어 할 수있는 방법이 없기 때문에 1980 년대 운영 체제에는없는 명령 이 있습니다 . 특히 리눅스 툴셋은 BSD 명령을 요구했다. 그러나 UNIX System 5의 BSD 호환성 도구와 마찬가지로 정확한 작업 결과가 아니며 크게 변형되었습니다.
이 납작 어디 지점으로 우리를 가져왔다 halt
하고 shutdown
있는 대부분 동일. 그러나 정확한 세부 사항은 툴셋마다 다르며 각 툴셋의 메커니즘은 모두 약간 다릅니다.
또한이 명령 세트가 그래서 지금은 사람들이 컴퓨터에게 같은 자기 모순적인 지침을 제공 할 수 있도록 호환성 옵션을 꽃줄로 장식되었다 약간 당황 위치로 우리를 가져왔다 reboot --halt
그리고 poweroff --reboot
나는 요기에 대한 매뉴얼 페이지에서 언급 한 바와 같이, halt
, fasthalt
, reboot
, fastboot
, 그리고 poweroff
명령. ☺
halt
, reboot
, poweroff
, telinit
,하고 shutdown
있는 모든 하나 개의 프로그램 . 실제로 시스템 자체의 systemctl
프로그램입니다. 여기에는 자체 명령뿐만 아니라 해당 명령의 다양한 명령 구문 구문에 대한 여러 명령 줄 파서가 있지만 그 후에는 내부적으로 하나의 코드 경로로 유입됩니다. halt
조치를 트리거하기 위해 사용 shutdown
및 해당 명령 옵션과 동일한 조치를 트리거하기 위해 사용 및 해당 명령 옵션 사이에는 차이가 없습니다 .
systemd는 복구 모드 ( 시스템 사용자 가 단일 사용자 모드 로 이름을 바꾼 것임)를 시스템 종료 상태로 간주하지 않으며 이러한 명령으로는 도달 할 수 없습니다. Option-less는와 shutdown now
동일합니다 poweroff
.
BSD는 1980 년대의 의미를 대부분 유지합니다. halt
와 shutdown
매우 따라서있다 하지 그들의 도구 세트에 해당. halt
그리고 reboot
하나 개의 프로그램이다; 여전히 낮고, 즉각적이며, 과감합니다. 반면 shutdown
와 poweroff
하나 하나 개의 프로그램, 일정 종료와 같은 배려 것들, 쓰기의 모든 수행 wall
, 작업을 로깅, 메시지를 로그인을 비활성화 등을.
BSD의 도구 세트에서 shutdown
/ poweroff
전통적으로 호출 결국 halt
/ reboot
최종 시스템의 상태 변화를 제정 할 수 있습니다. (현재는 틀렸다) " shutdown
execs halt
/ reboot
"는 사실 여전히 NetBSD와 OpenBSD를 가지고 있다는 지혜를 받았다 . 그러나 FreeBSD / TrueOS / DragonFlyBSD에서는 -o
옵션을 사용 하는 경우에만 해당 됩니다. BSD의 다음에, 양쪽 이 프로그램은 일반적으로 다양한 신호 (전송함으로써 시스템의 최종 상태 변경 제정 INT
, USR1
및 USR2
) 프로세스에 # 1. init
않는 모든 이들 시스템에 시스템 상태 관리.
그들 모두에서 옵션-이하 shutdown now
의 일치하지 않는 halt
, reboot
또는 poweroff
. 이것은 BSD로 천이 단일 사용자 모드 중 하나를 전환 할 수있는, 다시 으로 다중 사용자 모드 .
shutdown
. 시스템 관리자 설명서 . NetBSD 매뉴얼 페이지. 2011-11-04.reboot
,halt
. OpenBSD 매뉴얼 페이지. 2016-09-03.shutdown
. FreeBSD 매뉴얼 페이지. 2016-09-21.reboot
, halt
, fastboot
,fasthalt
. FreeBSD 매뉴얼 페이지. 2017-03-19.shutdown
. 시스템 관리자 설명서 . DragonFlyBSD 매뉴얼 페이지. 2016-09-29.reboot
, halt
, fastboot
,fasthalt
. 시스템 관리자 설명서 . DragonFlyBSD 매뉴얼 페이지. 2016-09-29.요기 시스템 관리 도구 세트에서, halt
, fasthalt
, poweroff
, fastpoweroff
, reboot
, 그리고 fastboot
모두 하나 개의 프로그램입니다. 받은 지혜 shutdown
의 반대 인 일반적으로 단순히 연결되는 이전 버전과의 호환성 심입니다 . --force
옵션에 체인을 만드는 system-control
대신.
따라서이 "BSD / System 5 호환성"명령 세트는 위에있는 단순한 shim 계층이므로이 도구 세트에서 명령과 명령 (동등한 옵션 사용 --force
) 사이 에는 차이가 없습니다 (없음 ) .halt
shutdown
shutdown
shutdown
. nosh 툴셋 매뉴얼 페이지. 소프트웨어.telinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, …
nosh 툴셋 매뉴얼 페이지. 소프트웨어.nosh와 마찬가지로, 시작 시스템 관리 도구 세트에서 수신 된 BSD 지혜의 반대가 적용됩니다. halt
, reboot
그리고 poweroff
일반적으로 연결되는 하나의 프로그램입니다 shutdown
. --force
옵션을 사용 하지 않으면 reboot()
시스템 호출 자체가됩니다.
따라서이 도구 세트에서 명령 과 명령 (동일한 옵션 사용) --force
사이 에는 차이가 없습니다 (없음 ) . 또 다시, 옵션이없는 (어떤 없음은 , 또는 에 시스템을 제공합니다 모든 설정 옵션들이로 호출 끝낼 수 있습니다) 단일 사용자 모드 보다는 종료.halt
shutdown
shutdown now
halt
reboot
poweroff
shutdown
(8) . 우분투 매뉴얼 페이지.reboot
(8), halt
(8), poweroff
(8) . 우분투 매뉴얼 페이지.init
+ rc
툴셋다시 말하지만,이 도구 세트를받은 BSD 지혜의 반대 적용 halt
하고 reboot
단순히 체인에 shutdown
- 시스템이 전원 끄기 또는 정지 이미하지 않는 한이 명령이 실제로 최종 시스템의 상태 변화를 제정하는 경우, "-수준"를 실행하게됩니다. shutdown
차례에 체인 init
.
그래서, 다시 차이 (시스템이되어 있지 않으면이 없다 이미 사이에 크게 종료) halt
와 shutdown
전 그냥 후자를 호출하기 때문이다. 그리고 네, 다시 옵션이없는 shutdown now
(어떤 없음 halt
, reboot
또는 poweroff
에 시스템을 제공합니다 모든 설정 옵션들이로 호출 끝낼 수 있습니다) 단일 사용자 모드 보다는 종료.
AWS EC2를 사용하는 사용자의 경우 : AWS 에서 인스턴스가 종료 되면 인스턴스를 shutdown
중지 합니다.halt
- 리눅스에서 "정지"와 "재부팅"shutdown 명령의 별칭 shutdown -h
과 shutdown -r
각각. Bareword shutdown은 일반적으로 -h를 가정합니다.
aliases
쉘 별칭이라는 의미는 아니지만 halt
기본적으로 단지 호출 shutdown -h
하고 reboot
실행 shutdown -r
합니다. 당신이 통과하면 참고 -f
로 (강제) 옵션을 사용 halt
하거나 reboot
, shutdown
있다 없다 라고합니다.
sendmail
이 시점에서 명령 - MTA와 마찬가지로, 그것은 그들 모두가 모두를 인식하기 때문에 당신이 무엇을 사용 초기화 시스템에 문제가 실제로하지 않습니다 shutdown
와 halt
같은.
sendmail
명령 의 경우입니다 . 그것은 sendmail
명령과 같지만 생각하는 방식이 아닙니다.