Введение
При переходе на CentOS/RHEL 7 и Fedora (начиная с 15 версии), можно заметить, что простая команда перезапуска сервиса дает непривычный ответ:
[root@localhost ~]# service crond restart Redirecting to /bin/systemctl restart crond.service
Все дело в том, что в данные операционные системы включен демон инициализации других демонов systemd. Среди его преимуществ — распараллеливание запуска служб при загрузке системы, что позволяет значительно сократить время старта операционной системы.
В настоящее время решение об использовании systemd по-умолчанию в популярных дистрибутивах вызывает большие разногласия и споры. Но оставим непримиримых борцов и будем пользоваться тем, что есть.
А есть у нас довольно функциональный инструмент управления службами.
Основные команды управления службами
Старт, остановка и перезапуск
Строка Redirecting to /bin/systemctl restart crond.service, как бы намекает нам, что для перезапуска службы правильнее будет использовать команду
[root@localhost ~]# systemctl restart crond
Соответственно, для старта и остановки команды будут:
[root@localhost ~]# systemctl start crond [root@localhost ~]# systemctl stop crond
Перезапуск службы, если она запущена:
[root@localhost ~]# systemctl condrestart crond
Перезагрузка и статус сервиса
Перезагрузить сервис, то есть заставить его перечитать конфигурационные файлы, поможет следующая команда:
[root@localhost ~]# systemctl reload crond
Узнать текущее состояние статуса:
[root@localhost ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: active (running) since Wd 2014-12-30 09:33:28 OMST; 1 weeks 6 days ago Main PID: 1328 (httpd) Status: "Total requests: 11; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─1328 /usr/sbin/httpd -DFOREGROUND ├─2563 /usr/sbin/httpd -DFOREGROUND ├─2564 /usr/sbin/httpd -DFOREGROUND ├─2565 /usr/sbin/httpd -DFOREGROUND ├─2566 /usr/sbin/httpd -DFOREGROUND ├─2567 /usr/sbin/httpd -DFOREGROUND ├─7576 /usr/sbin/httpd -DFOREGROUND ├─7577 /usr/sbin/httpd -DFOREGROUND ├─7578 /usr/sbin/httpd -DFOREGROUND ├─7579 /usr/sbin/httpd -DFOREGROUND └─7580 /usr/sbin/httpd -DFOREGROUND dec 30 09:33:28 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Старт сервиса при запуске системы
Включить, отключить и проверить автозапуск службы:
[root@localhost ~]# systemctl enable httpd [root@localhost ~]# systemctl disable httpd [root@localhost ~]# systemctl is-enabled httpd
Какие сервисы загружаются автоматически
[root@localhost ~]# systemctl list-unit-files --type=service
Список уровней загрузки, при которых служба будет запущена:
[root@localhost]# ls /etc/systemd/system/*.wants/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service
Подробнее про уровни загрузки можно почитать здесь.