Deberías aceptar la respuesta de @Zanna. es mucho más importante abordar su pregunta como la mía, incluso si es un enfoque válido también.
Videonauth
Respuestas:
20
Podrías usar algunas de systemctllas opciones de:
-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.
Después de buscar por más tiempo del necesario, se me ocurrió este método ligeramente diferente para determinar la ejecución de servicios. También muestra cómo contar la cantidad de servicios en ejecución. De esta forma, se garantiza que no se detecta accidentalmente algo con la palabra en ejecución o servicio en el nombre del servicio en sí.
# 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}'
Respuestas:
Podrías usar algunas de
systemctl
las opciones de:Entonces probablemente quieras:
Que enumera todos los servicios activos, incluidos los que han salido. Si solo está buscando los que se están ejecutando en este momento, puede usar:
fuente
systemctl
comando sin subcomandos asumelist-units
, entonces ...systemctl --type-service --state=running
, o simplemente unsystemctl
uso simple.Es (ver
man 1 systemctl
):o (ver también
man 8 service
)Donde
[+]
indica los servicios que realmente se están ejecutando.fuente
Después de buscar por más tiempo del necesario, se me ocurrió este método ligeramente diferente para determinar la ejecución de servicios. También muestra cómo contar la cantidad de servicios en ejecución. De esta forma, se garantiza que no se detecta accidentalmente algo con la palabra en ejecución o servicio en el nombre del servicio en sí.
fuente