실행중인 서비스 요약을 표시하는 Systemctl 명령


12

systemctl현재 실행중인 모든 서비스의 요약을 표시하기 위해 어떤 옵션 또는 명령을 사용합니까?


@Zanna의 답변을 수락해야합니다. 그것의 유효한 접근 방식이더라도 내 질문처럼 훨씬 더 많은 문제를 해결합니다.
Videonauth

답변:


20

systemctl의 옵션 중 일부를 사용할 수 있습니다.

-t, --type=
       The argument should be a comma-separated list of unit types such as
       service and socket.

       If one of the arguments is a unit type, when listing units, limit
       display to certain unit types. Otherwise, units of all types will
       be shown.

       As a special case, if one of the arguments is help, a list of
       allowed values will be printed and the program will exit.

   --state=
       The argument should be a comma-separated list of unit LOAD, SUB, or
       ACTIVE states. When listing units, show only those in the specified
       states. Use --state=failed to show only failed units.

       As a special case, if one of the arguments is help, a list of
       allowed values will be printed and the program will exit.

아마 당신은 원할 것입니다 :

systemctl --type=service --state=active list-units

종료 된 서비스를 포함하여 모든 활성 서비스가 나열됩니다. 이 순간에 실행 한 후에 만 ​​다음을 사용할 수 있습니다.

systemctl --type=service --state=running list-units

3
systemctl어떤 하위 명령없이 명령은 가정 list-units, 그래서 ... systemctl --type-service --state=running, 아니면 그냥 일반 systemctl빠른 사용.
muru

11

man 1 systemctl다음과 같습니다 (참조 ).

systemctl list-units | grep -E 'service.*running'

또는 (도 참조 man 8 service)

service --status-all

여기서 [+]실제로 실행중인 서비스를 나타냅니다.


4

필요한 것보다 더 오래 둘러 본 후에 나는 실행중인 서비스를 결정하는 약간 다른 방법을 생각해 냈습니다. 실행중인 서비스 수를 계산하는 방법도 보여줍니다. 이러한 방식으로 서비스 이름 자체에서 단어가 실행 중이거나 서비스 중일 때 실수로 무언가를 잡을 수 없습니다.

# Output all active services:
systemctl -t service --state=active --no-pager --no-legend

# Count of all active services:
systemctl -t service --state=active --no-pager --no-legend | grep -c -

# Output all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running'

# Count of all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' -c -

# Output only the service and its description:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' | awk 'BEGIN { FS = " ";} {for (i = 2; i <= 4; i++) { $i = "" }; print}'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.