`systemctl start restart.target`과 `systemctl restart`의 실질적인 차이점은 무엇입니까?

`systemctl start restart.target`과 `systemctl restart`의 실질적인 차이점은 무엇입니까?

start reboot.target. reboot​그러나 start reboot.target무엇이 그것을 촉발시켰는가 ctrl-alt-del.target?

ctrl-alt-del.target생략이 중요합니까 --job-mode=replace-irreversibly? 어떤 상황에서 이것이 다른 행동으로 이어질까요? 왜 포함되어 있나요 systemctl reboot?

man systemctl

다시 시작[매개변수]

시스템을 종료하고 다시 시작하십시오. 이는 대부분 에 해당 start reboot.target --job-mode=replace-irreversibly하지만 모든 사용자에게 벽 메시지를 인쇄하기도 합니다.

man systemd.special

ctrl-alt-del.target: systemd는 콘솔에서 Control+Alt+Del을 누를 때마다 이 대상을 시작합니다. 일반적으로 이는 boot.target에 대한 별칭(symlink)이어야 합니다.

답변1

파일의 소스 코드를 읽으면 해당 파일 이 참조된다는 reboot.target것을 알 수 있습니다. 이는 동일한 명령에 대한 또 다른 이름이며 동일한 방식으로 작동한다는 것을 의미합니다.ctrl-alt-del.targetAlias=

systemctl.c의 소스 코드 보기, 우리는 또한 옵션이 전달되는 systemctl reboot것을 볼 수 있습니다.replace-irreversibly

따라서 찾은 재시작 명령의 세 가지 변형인 systemctl reboot, reboot.target및 가 모두 동일하게 작동하는 것으로 보입니다 ctrl-alt-del.target.

문서 개선을 위한 제안이 있는 경우 시스템 문서용 소스 XML 파일그리고 끌어오기 요청을 제출하세요.

답변2

이 옵션은 새 작업이 대기열에 추가될 때 대기열에 있는 작업을 처리하는 방법을 제어합니다. "실패", "교체", "되돌릴 수 없는 교체", "격리", "종속성 무시", "요구 사항 무시" 또는 "새로 고침" 중 하나가 필요합니다. 격리 명령을 사용하지 않는 한 기본값은 "교체"입니다("격리" 작업 모드를 의미함).

"fail"이 지정되고 요청된 작업이 일시 중지된 작업과 충돌하는 경우(구체적으로는 일시 중지된 시작 작업이 중지 작업으로 전환되거나 그 반대가 되는 경우) 작업이 실패하게 됩니다.

"replace"(기본값)가 지정되면 충돌하는 보류 중인 작업이 필요에 따라 교체됩니다.

'replace-irreversible'이 지정된 경우 작업은 'replace'와 유사하지만 새 작업도 되돌릴 수 없는 것으로 표시됩니다. 이렇게 하면 향후 충돌하는 트랜잭션이 이러한 작업을 대체하는 것을 방지할 수 있습니다(되돌릴 수 없는 작업이 아직 보류 중인 동안 대기열에 있는 경우도 포함). 되돌릴 수 없는 작업은 취소 명령을 사용하여 취소할 수 있습니다.

이는 실제 결과를 보여줍니다. "셀을 절전 상태 논리에 연결"한다고 가정하면 sleep.target끌어오기를 사용하세요. 귀하의 후크 장치에는 가 없으므로 ... 및 에 DefaultDependencies=no의존합니다 .sysinit.targetConflictshutdown.target

systemctl start reboot.target즉시 실행하면 systemctl start suspend.target후크 세트가 중지된 것으로 나타납니다 shutdown.target. 이제 이 systemd-reboot.service있으므로 Requires=shutdown.target중지/취소해야 합니다. ( umount.target취소하면 안 됩니다.)

나는 이러한 라인에 따른 행동의 차이를 확인했으며시스템 문제 추적기에서 결함으로 보고하세요..

관련 정보