Управление на услуги в Linux с командата systemctl

systemctl

Командата systemctl е мощен инструмент за управление на услугите в Linux системи. Тя може да се използва за стартиране, спиране, презареждане, заключване и отключване на услуги, както и за получаване на информация за тяхното състояние.

Синтаксис

Основният синтаксис на командата systemctl е следният:

systemctl [опции] {команда}

Опции

Командата systemctl поддържа множество опции, които могат да се използват за промяна на поведението ѝ. Някои от най-често използваните опции са:

  • -h: Извежда помощна информация.
  • -d: Включва режим за отстраняване на грешки.
  • -i: Извежда информация в интелигентен формат.
  • -l: Извежда информация в табличен формат.
  • -n: Не извежда съобщения за успех.
  • -q: Извежда само кратка информация.
  • -t: Извежда информация в телеграфен формат.
  • -u: Извежда информация за потребителския контекст.
  • -v: Извежда информация за версията.

Команди

Командата systemctl поддържа множество команди, които могат да се използват за управление на услугите. Някои от най-често използваните команди са:

  • start: Стартира услуга.
  • stop: Спира услуга.
  • restart: Рестартира услуга.
  • enable: Активира услуга при стартиране на системата.
  • disable: Деактивира услуга при стартиране на системата.
  • status: Показва състоянието на услуга.
  • list-units: Извежда списък с всички услуги.
  • list-unit-files: Извежда списък с всички файлове с единици.
  • reload: Презарежда конфигурацията на системата.
  • lock: Заключва услуга.
  • unlock: Отключва услуга.

Списък на всички услуги със systemctl

За да получите списък на всички услуги в Linux система, използвайте командата systemctl list-units. Тази команда ще изведе списък с всички услуги, разделени по състояние.

sudo systemctl list-units

Изход:

UNIT            LOAD   STATE    ACTIVATION   SUB
----------------------------------------------------------
avahi-daemon     loaded   active   running     enabled
dbus             loaded   active   running     enabled
fstrim.service   loaded   inactive dead       umount
getty@tty1        loaded   active   running     enabled
...

За да получите по-подробен списък, можете да използвате опцията -l. Тази опция ще изведе списък с всички услуги в табличен формат.

sudo systemctl list-units -l

За да получите списък само с услугите, които са стартирани при стартиране на системата, използвайте опцията -q. Например, за да получите списък с всички услуги, които са активирани, използвайте следната команда:

sudo systemctl list-units -q | grep enabled

Изход:

avahi-daemon.service
dbus.service
fstrim.service
getty@tty1.service
...

Примери

Ето някои примери за използване на командата systemctl:

За да стартирате услуга:

sudo systemctl start [име на услуга]

Например, за да стартирате услугата nginx:

sudo systemctl start nginx

За да спрете услуга:

sudo systemctl stop [име на услуга]

Например, за да спрете услугата nginx:

sudo systemctl stop nginx

За да рестартирате услуга:

sudo systemctl restart [име на услуга]

Например, за да рестартирате услугата nginx:

sudo systemctl restart nginx

За да активирате услуга при стартиране на системата:

sudo systemctl enable [име на услуга]

Например, за да активирате услугата nginx при стартиране на системата:

sudo systemctl enable nginx

За да деактивирате услуга при стартиране на системата:

sudo systemctl disable [име на услуга]

Например, за да деактивирате услугата nginx при стартиране на системата:

sudo systemctl disable nginx

За да получите състоянието на услуга:

sudo systemctl status [име на услуга]

Например, за да получите състоянието на услугата nginx:

sudo systemctl status nginx

За да изведете списък с всички услуги:

sudo systemctl list-units

За да изведете списък с всички файлове с единици:

sudo systemctl list-unit-files

За да презаредите конфигурацията на системата:

sudo systemctl reload

За да заключите услуга:

sudo systemctl lock [име на услуга]

Например, за да заключите услугата nginx:

sudo systemctl lock nginx

За да отключите услуга:

sudo systemctl unlock [име на услуга]

Заключение

Командата systemctl е мощен инструмент, който може да се използва за управление на услуги в Linux

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: