Powinieneś zaakceptować odpowiedź @Zanna. znacznie bardziej odpowiada na twoje pytanie, podobnie jak moje, nawet jeśli jest to również prawidłowe podejście.
Videonauth,
Odpowiedzi:
20
Możesz użyć niektórych systemctlopcji:
-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.
Która zawiera listę wszystkich aktywnych usług, w tym tych, które zostały zakończone. Jeśli szukasz tylko tych, które działają w tym momencie, możesz użyć:
Po dłuższym rozglądaniu się wymyśliłem tę nieco inną metodę określania uruchomionych usług. Pokazuje także, jak policzyć liczbę uruchomionych usług. W ten sposób zapewnia, że przypadkowo nie wyłapie czegoś z uruchomionym słowem lub usługą w samej nazwie usług.
# 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}'
Odpowiedzi:
Możesz użyć niektórych
systemctl
opcji:Więc prawdopodobnie chcesz:
Która zawiera listę wszystkich aktywnych usług, w tym tych, które zostały zakończone. Jeśli szukasz tylko tych, które działają w tym momencie, możesz użyć:
źródło
systemctl
Polecenia bez podpoleceń zakładalist-units
, tak ...systemctl --type-service --state=running
, czy tylko zwykłysystemctl
do szybkiego użycia.To jest (patrz
man 1 systemctl
):lub (patrz także
man 8 service
)Gdzie
[+]
wskazuje usługi, które faktycznie działają.źródło
Po dłuższym rozglądaniu się wymyśliłem tę nieco inną metodę określania uruchomionych usług. Pokazuje także, jak policzyć liczbę uruchomionych usług. W ten sposób zapewnia, że przypadkowo nie wyłapie czegoś z uruchomionym słowem lub usługą w samej nazwie usług.
źródło