Как я могу перечислить все enabled
сервисов из systemctl
?
Я знаю, что systmctl
перечисляет все службы, но я хотел бы получить только enabled
один раз.
Как я могу перечислить все enabled
сервисов из systemctl
?
Я знаю, что systmctl
перечисляет все службы, но я хотел бы получить только enabled
один раз.
systemctl list-unit-files | grep enabled
отобразит все включенные .
Если вы хотите, чтобы в настоящее время работает , вам нужно systemctl | grep running
.
Используйте тот, который вы ищете. Enabled, не означает, что он работает. И запуск не означает, что он включен. Это две разные вещи.
Enabled означает, что система будет запускать службу при следующей загрузке. Поэтому, если вы включите службу, вам все равно нужно вручную запустить ее или перезагрузить, и она начнется.
Запуск означает, что он работает прямо сейчас, но если он не включен, он не перезагружается при перезагрузке.
man systemctl
состояния:
--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.
Пояснение:
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
Хотя вы также можете использовать это, чтобы показывать только enabled
единиц с помощью:
systemctl list-unit-files --state=enabled
Если единица enabled
означает, что система запустит ее при запуске. Хотя настройка enabled
фактически не равна start
, поэтому вам нужно будет сделать это вручную или перезагрузить систему после ее установки на enabled
.
Чтобы перечислить все службы systemd
, которые находятся в state=active
и sub=running
systemctl list-units --type=service --state=running
Чтобы перечислить все systemd
serice, которые находятся в state=active
и sub, либо запущены, либо завершены
systemctl list-units --type=service --state=active
Надеюсь, что это решает проблему.