Есть гораздо больше, чем то, что вы упомянули, что systemctl
способен на:
- systemd обратно совместим с SysV.
- загружает службы параллельно при запуске
- это обеспечивает активацию услуги по требованию
- это основано на зависимости
- и многое другое, я думаю...
systemd
работает с единицами, существуют разные типы единиц: цели, службы, сокеты и т.д. Цели - это та же концепция, что и уровни выполнения, они представляют собой набор единиц вместе.
Вы можете использовать systemctl
чтобы установить или получить системный целевой объект по умолчанию.
systemctl get-default
Вы можете перейти к другим целям:
systemctl isolate multiuser.target
Другие цели: многопользовательская, графическая, повторная, аварийная, перезагрузка, отключение питания.
Как вы сказали, вы можете использовать systemctl
для управления службами некоторые другие команды, связанные с управлением службами, о которых я знаю, следующие:
# Restarts a service only if it is running.systemctl try-restart name.service# Reloads configuration if it's possible.systemctl reload name.service# try to reload but if it's not possible restarts the servicesystemctl reload-or-restart name.service
Вы можете использовать его, чтобы узнать о статусе обслуживания:
systemctl status name.servicesystemctl is-active name.service # runningsystemctl is-enabled name.service # will be activated when bootingsystemctl is-failed name.service # failed to load
Вы можете замаскировать или снять маску с службы:
systemctl mask name.servicesystemctl unmask name.service
Когда вы маскируете службу, она будет связана с /dev/null
, поэтому вручную или автоматически другие службы не могут активировать / включить его. (сначала вы должны снять с него маску).
Другое использование systemctl заключается в перечислении единиц измерения:
systemctl list-units
В котором перечислены все виды единиц измерения, загруженные и активные.
Список сервисных единиц:
systemctl list-units --type=service
Или перечислить все доступные устройства, а не только загруженные и активированные:
systemctl list-unit-files
Вы можете создавать псевдонимы или даже управлять удаленными машинами
systemctl --host ravexina@192.168.56.4 list-units
С другой стороны service
делает то, что должен делать, управляя услугами и не имея ничего общего с бизнесом других людей ;)