명령줄을 사용하여 Linux를 재부팅하거나 종료하는 방법

다시 시작하는 느낌? 이 자습서에서는 명령줄에서 Linux 또는 macOS 컴퓨터를 깨끗하고 안전하게 재부팅하거나 종료하는 방법을 보여줍니다.

우리는 내려 가고있다

때로는 재부팅 또는 전체 종료를 위해 이동해야 합니다. GUI가 없는 서버에서 작업 중이거나 원격 컴퓨터에 대한 SSH 세션에 있는 경우 명령줄이 유일한 옵션입니다. macOS와 같은 Linux 및 Unix 계열 시스템은 명령줄에서 바로 시스템을 종료하거나 재부팅하는 몇 가지 명령을 제공합니다.

사용할 수 있는 명령은 다음과 같습니다.

일시 휴업
재부팅
정지
전원 끄기

이러한 명령에 대한 매뉴얼 페이지를 살펴보면 혼란스러울 수 있습니다. 선택한 명령줄 옵션에 따라 이러한 모든 명령은 다음을 수행할 수 있습니다. 셧다운, 재부팅되고 시스템이 중지됩니다. 실제로 재부팅, 중지 및 전원 끄기에 대한 매뉴얼 페이지에는 다음이 포함되어 있습니다. 정확히 같은 정보.

이 뒤에 무엇이 있습니까?

답은 에 있다 시스템 부트스트랩 유서 깊은 System V init 시스템을 대체한 시스템입니다. Linux 세계에서 Fedora는 2011년에 systemd를 사용하기 시작했습니다. 그 이후로 많은 배포판에서 채택했습니다. 2015년 데비안과 우분투가 systemd로 바뀌었습니다.

systemd 기반 배포에서 shutdown, reboot, halt 및 poweroff 명령은 효과적으로 systemctl 명령을 가리키는 바로 가기입니다. 이러한 명령을 유지하면 System V init 기반 배포와 어느 정도의 호환성을 제공합니다. 이는 셸 스크립트(및 하드 코어 System V 시스템 관리자)가 시스템 배포가 실행되는 컴퓨터로 이동하더라도 중단되지 않음을 의미합니다.

종료 사용

다중 사용자 시스템을 종료하거나 재부팅하려면 미리 계획해야 합니다. 시스템 종료 또는 재부팅 시점을 결정하고 다른 시스템 사용자에게 시스템 종료가 언제 올 것인지 경고해야 합니다. 그것이 당신 자신의 컴퓨터이고 당신이 그것을 사용하는 유일한 사람이라면 인생은 훨씬 간단합니다.

이러한 명령을 실행하려면 sudo 그룹에 있어야 합니다. 즉, 수퍼유저 권한이 있어야 하고 sudo 명령을 사용할 수 있어야 합니다. 실행한 명령이 즉시 적용되고 로그인한 다른 사용자에게 영향을 미치지 않으면 sudo를 사용할 필요가 없습니다. 이러한 명령 중 하나를 사용하려고 했지만 명령이 거부되면 sudo 를 사용하여 다시 시도하십시오.

기본적으로 shutdown 명령은 모든 프로세스가 완전히 중지되고 모든 파일 시스템이 동기화되며 모든 CPU 활동이 중지되도록 합니다. 이것이 ‘정지’ 상태입니다. 그런 다음 하드웨어에 전원을 차단하라는 메시지를 보냅니다. 물론 이것은 종료 또는 “전원 끄기” 상태입니다.

종료에 대해 경고하기 위해 로그인한 사용자에게 보낼 메시지 및 시간 문자열과 같은 일부 매개변수를 종료에 전달하는 것이 일반적입니다. 지금부터 15분 동안 종료를 예약해 보겠습니다. shutdown , 공백, +15, 공백을 입력한 다음 사용자에게 보낼 메시지를 입력합니다.

shutdown +15 Shutting down in 15 minutes!

우리가 사용한 시간 문자열은 +15 로 지금으로부터 15분 후를 나타냅니다. +는 선택 사항입니다. 우리는 15를 입력할 수 있었습니다.

종료가 예정되어 있고 언제 종료되는지 확인하는 응답을 받습니다. 로그인한 사용자는 우리가 제공한 메시지를 받게 됩니다.

종료를 취소하려면 -c(취소) 옵션을 사용합니다.

shutdown -c

종료가 취소되었다는 알림을 받지는 못했지만 로그인한 사용자에게는 알림이 전송됩니다.

시간 문자열을 제공하지 않으면 지금부터 1분 동안 종료가 예약됩니다. 시간 문자열을 지정하지 않으면 로그인한 사용자에게 메시지를 제공할 수 없습니다.

shutdown

1분도 기다릴 수 없다면 지금을 시간 문자열로 사용할 수 있으며 종료는 즉시 적용됩니다. 지금 사용하는 것은 +0을 사용하는 것과 같습니다.

시간 문자열은 23:00과 같이 설정된 시간일 수 있습니다. HH:MM 형식을 따라야 하며 24시간제 형식이어야 합니다. 시스템이 다운되기 5분 전에 새로운 로그인이 방지됩니다.

종료의 기본 동작이 컴퓨터를 정지 상태로 만든 다음 전원이 꺼진 상태로 만드는 것을 알고 있습니다. 다른 명령줄 옵션을 전달하여 이 동작을 재정의할 수 있습니다.

-H(중지) 옵션은 컴퓨터를 정지 상태로 만들지만 하드웨어에 전원을 끄도록 요청하지 않습니다.
-P(전원 끄기)는 기본 작업입니다. 컴퓨터가 정지 상태로 전환된 다음 전원이 꺼집니다.
-r(재부팅) 옵션은 컴퓨터를 정지 상태로 만든 다음 다시 시작합니다.
-h(중지 및 전원 끄기) 옵션은 -P와 동일합니다. -h와 -H를 함께 사용하는 경우 -H 옵션이 우선합니다.
-c(취소) 옵션은 예정된 종료, 중지 또는 재부팅을 취소합니다.

다음은 재부팅을 예약한 예입니다.

shutdown -r 08:20 System rebooting at 08:20

재부팅, 중지 및 전원 끄기 명령

이러한 명령은 이름에서 제안하는 작업을 수행합니다. 그러나 각각은 명령줄 옵션을 수락하여 그 중 하나가 재부팅, 중지 또는 전원 끄기를 수행하도록 합니다. 하지만 문제를 혼동하는 이유는 무엇입니까? 이러한 명령은 액면 그대로 사용하는 것이 가장 좋습니다.

지금 재부팅하려면 재부팅을 사용하십시오. 지금 전원을 끄려면 전원 끄기를 사용하고 시스템을 지금 중지하려면 중지를 사용합니다.

reboot

halt

poweroff

이러한 명령은 즉시 적용됩니다. 이러한 명령 중 하나라도 거부되면 sudo를 앞에 붙입니다. 그러나 거부하는 것은 일반적으로 시스템에 로그인한 다른 사용자가 있기 때문에 오프라인으로 전환하려는 것입니다.

나에게 맞는 명령어는?

다중 사용자 환경에서 종료를 사용하여 이러한 작업을 수행하면 더 많은 제어가 가능합니다. 종료 및 재부팅을 예약하고 사용자에게 브로드캐스트 메시지로 경고하는 기능은 이러한 경우 매우 중요합니다. 단일 사용자 컴퓨터의 경우 재부팅 및 전원 끄기가 요구 사항을 충족할 수 있습니다.