"systemctl list-units"의 "활성" 상태와 "실행 중" 상태의 차이점은 무엇입니까?

"systemctl list-units"의 "활성" 상태와 "실행 중" 상태의 차이점은 무엇입니까?

매뉴얼에서 systemctl이것이 차이점 high-low-수준이라고 읽었습니다. 그게 무슨 뜻이야? active"운영 체제가 시작될 때 자동으로 시작"을 의미하고 "현재 활성화됨"을 의미한다고 생각합니다 running.

답변1

systemctl맨페이지 에서 :

"활성:" 줄은 활성 상태를 표시합니다. 값은 일반적으로 "활성" 또는 "비활성"입니다. 활동은 단위 유형에 따라 시작, 바인딩, 삽입 등을 의미할 수 있습니다. 장치는 "활성화" 또는 "비활성화" 상태를 보고하면서 상태를 변경하는 과정에 있을 수도 있습니다.

명령 systemctl list-units출력에는 ACTIVE에 대한 열 하나와 SUB에 대한 또 다른 열이 있습니다. 전자는 장치의 활성 상태를 표시하고 후자는 장치에 따라 하위 상태를 표시합니다. 아래 예(의 출력 systemctl list-units --all)를 참조하세요.

UNIT                                     LOAD   ACTIVE   SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount        loaded active   running   Arbitrary Executable File Formats File System Automount Point
sys-module-configfs.device               loaded active   plugged   /sys/module/configfs
var.mount                                loaded active   mounted   /var
dracut-shutdown.service                  loaded active   exited    Restore /run/initramfs on shutdown
systemd-ask-password-plymouth.path       loaded active   waiting   Forward Password Requests to Plymouth Directory Watch
sssd-kcm.service                         loaded inactive dead      SSSD Kerberos Cache Manager

답변2

dr_의 답변을 자세히 설명하겠습니다.

active, inactiveactivatingdeactivating단위 상태입니다. 11가지 유형의 유닛이 있으며 각 유닛에는 유용한 하위 상태가 있습니다.

서비스는 단위의 한 유형일 뿐이며 여러 하위 상태를 갖습니다.

  • "실행 중"은 서비스 프로세스가 (보통) 현재 실행 중임 Type=simple을 의미합니다 ExecStart=.
  • "종료"는 서비스 프로세스가 완료되었지만 해당 장치는 여전히 "활성" 상태로 간주됨을 의미합니다. Type=oneshot와 함께 흔히 볼 수 있습니다 RemainAfterExit=true.
  • "Death"는 서비스 프로세스가 종료되었음을 의미하므로 이제 해당 장치는 "비활성화"됩니다.

하위 상태에 대한 자세한 내용은 man systemd.service리소스 RemainAfterExit=및 를 참조하세요 man systemd.

관련 정보