実行中のサービスの概要を表示する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迅速な使用のために。
ムル


4

必要以上に長く見回した後、実行中のサービスを決定するこのわずかに異なる方法を思いつきました。また、実行中のサービスの数をカウントする方法も示します。これにより、サービス名自体にrunningまたはserviceという単語が含まれているものを誤ってキャッチすることがなくなります。

# 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.