답변:
일반적으로 shutdown명령을 사용합니다 . 종료 또는 재부팅 전에 시간 지연 및 경고 메시지를 표시 할 수 있으며 이는 다중 사용자 셸 서버의 시스템 관리에 중요합니다. 다운 타임에 대한 사전 통지를 사용자에게 제공 할 수 있습니다.
따라서 shutdown 명령을 사용하여 컴퓨터를 즉시 중지 / 끄십시오 (최소한 Linux 및 FreeBSD에서).
shutdown -h now
또는 30 분 전 사용자 정의 경고로 재부팅하려면 다음을 수행하십시오.
shutdown -r +30 "Planned software upgrades"
지연 후 실행 레벨 0 (정지) 또는 6 (재부팅)으로 변경하도록 shutdown지시 init합니다. (생략 -h하거나 생략 -r하면 시스템이 단일 사용자 모드 (런레벨 1)로 전환되어 대부분의 시스템 프로세스를 종료하지만 실제로 시스템을 정지 시키지는 않습니다. 관리자는 여전히 루트로 로그인 상태를 유지할 수 있습니다.)
시스템 프로세스가 종료되고 파일 시스템이 마운트 해제되면 시스템이 중지 / 전원을 끄거나 자동으로 재부팅됩니다. 변경 사항을 디스크에 동기화 한 다음 실제 중지 / 전원 끄기 또는 재부팅을 수행 하는 haltor 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가받은 지혜가 " shutdownexecs 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최종 시스템의 상태 변화를 제정 할 수 있습니다. (현재는 틀렸다) " shutdownexecs 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) 사이 에는 차이가 없습니다 (없음 ) .haltshutdownshutdown
shutdown. nosh 툴셋 매뉴얼 페이지. 소프트웨어.telinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, … nosh 툴셋 매뉴얼 페이지. 소프트웨어.nosh와 마찬가지로, 시작 시스템 관리 도구 세트에서 수신 된 BSD 지혜의 반대가 적용됩니다. halt, reboot그리고 poweroff일반적으로 연결되는 하나의 프로그램입니다 shutdown. --force옵션을 사용 하지 않으면 reboot()시스템 호출 자체가됩니다.
따라서이 도구 세트에서 명령 과 명령 (동일한 옵션 사용) --force사이 에는 차이가 없습니다 (없음 ) . 또 다시, 옵션이없는 (어떤 없음은 , 또는 에 시스템을 제공합니다 모든 설정 옵션들이로 호출 끝낼 수 있습니다) 단일 사용자 모드 보다는 종료.haltshutdownshutdown nowhaltrebootpoweroff
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명령과 같지만 생각하는 방식이 아닙니다.