что вы подразумеваете под включенным? Вы имеете в виду службы, которые работают?
Генерал
7
@ Генерирование службы сильно отличается от ее запуска. См man systemctl.
Йос
Захватывающий. Ответ с наименьшим рейтингом является наиболее «правильным» ответом, хотя это явно не лучший ответ. Этот превосходный вопрос (и его ответы) является интересным примером того, как systemd нарушает давние (и блестящие) принципы проектирования Unix & Co. @FelipeAlvarez жалуется, что наиболее приемлемый ответ предполагает, что systemd следует философии дизайна unix, но systemd / systemctl может делать именно то, что он хочет (большинство опытных пользователей сочтут это полным раздуванием). Я начинаю более ясно видеть, почему Линус Торвальдс так сильно критикует systemd.
BISI
Ответы:
412
systemctl list-unit-files | grep enabledперечислит все включенные .
Если вы хотите, какие из них в настоящее время работают , вам нужно systemctl | grep running.
Используйте тот, который вы ищете. Включен, не означает, что он работает. И бег не означает, что он включен. Это две разные вещи.
Включено означает, что система будет запускать службу при следующей загрузке. Поэтому, если вы включаете службу, вам все равно нужно вручную запустить ее или перезагрузить, и она запустится.
Запуск означает, что он на самом деле работает прямо сейчас, но если он не включен, он не будет перезагружен при перезагрузке.
раздражает необходимость использовать внешний инструмент (grep), чтобы показать эту важную информацию. Но спасибо, что показали нам путь :)
Фелипе Альварес
34
@FelipeAlvarez Верно. Но так работает Linux. Много небольших двоичных файлов, которые хорошо работают друг с другом. systemctl делает то, что запрашивается, перечисляет службы. В systemctl нет встроенной команды фильтрации, поскольку grep уже существует и может успешно работать с выходными данными любой программы. Так было всегда :)
Дориан,
3
Я согласен и так должно быть. Но systemd уже пытается сделать так много, что мне интересно, почему он не может перечислить включенные службы?
Фелипе Альварес
5
systemctl | grep runningне перечисляйте мне ничего! Даже если что-то работает, отображается только его статус, например:enabled, disabled, masked, static
Cirelli94
27
Проще:systemctl list-unit-files --state=running
будет
93
man systemctl состояния:
--state=
Аргумент должен быть запятой список единичных LOAD, SUBили ACTIVEсостояний. При перечислении единиц, показывать только те, в указанных штатах. Используйте --state=failedдля отображения только неисправных юнитов.
Объяснение:
LOAD: Отражает правильность загрузки определения объекта. ACTIVE: Состояние активации блока высокого уровня, т.е. обобщение SUB. SUB: Состояние активации блока низкого уровня, значения зависят от типа блока.
Хотя вы также можете использовать это, чтобы показывать только enabledединицы с:
systemctl list-unit-files --state=enabled
Если это единица, enabledэто означает, что система запустит ее при запуске. Хотя установка чего-либо на enabledсамом деле также не делает startэтого, вам нужно будет сделать это вручную или перезагрузить систему после установки этого значения enabled.
man systemctl
.Ответы:
systemctl list-unit-files | grep enabled
перечислит все включенные .Если вы хотите, какие из них в настоящее время работают , вам нужно
systemctl | grep running
.Используйте тот, который вы ищете. Включен, не означает, что он работает. И бег не означает, что он включен. Это две разные вещи.
Включено означает, что система будет запускать службу при следующей загрузке. Поэтому, если вы включаете службу, вам все равно нужно вручную запустить ее или перезагрузить, и она запустится.
Запуск означает, что он на самом деле работает прямо сейчас, но если он не включен, он не будет перезагружен при перезагрузке.
источник
systemctl | grep running
не перечисляйте мне ничего! Даже если что-то работает, отображается только его статус, например:enabled, disabled, masked, static
systemctl list-unit-files --state=running
man systemctl
состояния:Объяснение:
LOAD
: Отражает правильность загрузки определения объекта.ACTIVE
: Состояние активации блока высокого уровня, т.е. обобщениеSUB
.SUB
: Состояние активации блока низкого уровня, значения зависят от типа блока.Хотя вы также можете использовать это, чтобы показывать только
enabled
единицы с:Если это единица,
enabled
это означает, что система запустит ее при запуске. Хотя установка чего-либо наenabled
самом деле также не делаетstart
этого, вам нужно будет сделать это вручную или перезагрузить систему после установки этого значенияenabled
.источник
systemctl enable --now ...
--state=enabled
не влияет на версию 215 systemd (на Raspbian 8 Jessie), но работает на версию 229 systemd (на Ubuntu 16.04.03 Xenial).Чтобы перечислить все
systemd
услуги, которые находятся вstate=active
иsub=running
Чтобы перечислить все
systemd
Serice, которые находятся вstate=active
и саб, либо работает, либо вышелисточник
Чтобы увидеть «включенные» службы, в том числе те, которые все еще находятся в режиме upstart / init:
Чтобы увидеть все запущенные в данный момент службы:
источник
sshd
против»ssh
и «syslog
против»rsyslog
.Также обзор всех активных и отказавших услуг:
источник