시스템 종료 18:00와 시스템 종료 18:00의 차이점은 무엇입니까?


30

at 18:00 shutdown now그리고 shutdown 18:00그들은 같은 서비스를 시작하고 있습니까? 그들은 같은 방식으로 작동합니까?

답변:


48

at 18:00 shutdown now"at"작업을 작성합니다.이 작업은 시스템에 따라 at데몬 또는 데몬 이 지정된 시간에 수행 cron합니다.

shutdown 18:00지정된 시간까지 대기 한 다음 종료를 수행하는 프로세스를 셸에서 시작합니다. 예를 들어 쉘 세션이 종료되면이 명령을 종료 할 수 있습니다.

대부분의 경우 최종 결과는 동일합니다. 시스템이 18:00에 종료됩니다.

한 가지 차이점은을 사용 at하면 작업이 저장되고 18:00 이전에 다른 방법으로 시스템을 종료 한 경우 다시 부팅 할 때 작업이 여전히 실행 대기 중이라는 것입니다. 시간이 이미 지나면 즉시 종료가 수행되어 예상치 못한 결과가 발생할 수 있습니다.

또 다른 차이점은 예약 된 시간 5 분 전에 파일 shutdown 18:00을 작성하여 /run/nologin해당 순간 이후에 사람들이 로그인하지 못하게하는 것입니다. 또한 브로드 캐스트 메시지가 전송되어 로그인 한 사용자에게 시스템 종료 예정임을 경고합니다.

사용할 차이점을 결정하려면 이러한 차이점을 고려해야합니다.


1
" shutdown 18:00쉘에서 대기하는 프로세스를 시작합니다." 그 전에 로그 아웃하면 어떻게 되나요?
RonJohn

1
@RonJohn : 당신이 사용하는 경우 다음 그것은 의존 nohup하거나 disown또는 일반적으로 로그 아웃 경우 어떤 죽이는 실행 백그라운드 프로세스를. 시스템마다 기본값이 다를 수 있습니다. (나는 실제로 sudo shutdown실행중인 프로세스 가 있다고 가정하고 있습니다. 단지 init셧다운 타이머를 시작하라는 신호 입니다. 후자는 실제로 발생하지만 최근에 확인하지는 않았습니다. )
Peter Cordes

실제로 설정할 수 있습니까? 대신에 at통해 작동 합니까? cronatd
terdon

3
How to Ask을 읽지 않은 다이아몬드 중재자가 있습니다 . (-:이 질문은 4 년 전에 unix.stackexchange.com/questions/147643 에서 질문되었음을 알게 될 것입니다 .
JdeBP

"로그인 된 사용자에게 시스템 종료 예정임을 경고하기 위해 브로드 캐스트 메시지도 전송됩니다." 나는 이것이 많은 사용자를 가진 서버에서 가장 중요한 차이점이라고 말하고 싶습니다.이 답변에서 더 강조하겠습니다.
JiK

23

그리고 이제 체계적인 답변입니다.

CentOS 7을 사용하는 경우 시스템 운영 체제가 있고 그 대답이 다릅니다.

at 18:00 shutdown now여전히 at하위 시스템을 통해 예약 하지만 해당 shutdown명령과 직접 호출 하는 명령 shutdown 18:00은 다릅니다. 실제로 시스템의 systemctl프로그램입니다. systemctl다르게 행동합니다.

우선 systemctl, 예약 된 종료 요청을 보내어 dæmon에 의해 처리되도록합니다 at. 그러나 이것은 하위 시스템이 아닌 시스템화 된 데몬 logind( 특히, systemd-shutdownd2015 년 5 월에 시스템에서 제거 된 이후의 마이너 버전의 CentOS 7로 변경된 데몬) at입니다. systemctl(시스템 전체) Desktop Bus 브로커에 내부 프로토콜을 말하고와 통신합니다 logind.

따라서 경우와 같이 메시지를 카운트 다운하고 생성하는 프로세스 at는 없습니다 . 따라서 로그 아웃 할 수 있으며 이는 스케줄에 영향을 미치지 않으며, 취소는 단순히 로그인 세션의 포 그라운드 프로세스를 중단 / 종료하는 것만 큼 간단하지 않습니다. 와 마찬가지로 .shutdownwallat

여전히 메시지는 달리, at케이스,하지만이 발행된다 logind. 또한 at경우 와 달리 예약 된 작업은 시스템을 다시 시작해도 지속되지 않으므로 실제 종료는 예약 된 작업을 취소합니다. 이 파일 시스템에서 파일이 있지만 아래 /run/systemd/shutdown비 영구 저장소이다.

또한 한 번에 하나의 예약 된 종료 만있을 수 있지만 여러 at작업을 제출할 수 있으며 정책 키트는 shutdown로그인하지 않은 컨텍스트 at에서 shutdown실행 되는 규칙과 다른 작업으로 실행 되는 규칙을 적용 합니다. 로그인 세션 컨텍스트. 후자는 더 허용적일 수 있는데, 예 를 들어 활성 로그인 세션에 로그인 한 권한이없는 사용자가 시스템을 종료 할 수 있습니다.

추가 자료

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.