Как просмотреть службы Linux с помощью команды systemctl


Если вы пользователь или администратор Linux, вам необходимо знать, как управлять службами в вашей системе. Службы – это программы, которые работают в фоновом режиме и обеспечивают важные функции, такие как работа в сети, печать, ведение журналов и т. д.

Но как составить список, запустить, остановить, включить, отключить или перезапустить службы в Linux? Ответ — команда systemctl. Эта команда является частью systemd, современного менеджера систем и служб для таких дистрибутивов Linux, как Ubuntu и Debian.

Если у вас Linux новичок и вы хотите управлять этими службами с помощью systemctel, выполните следующие действия.

Перечислить все службы с помощью systemctl

Чтобы просмотреть все службы вашей системы Linux, запустите в терминале следующую команду:

sudo systemctl list-units – сервис типа

Появится таблица с пятью столбцами: UNIT, LOAD, ACTIVE, SUBи ОПИСАНИЕ.

В столбце UNITотображается имя файла модуля службы, который является файлом конфигурации и определения службы. Этот файл содержит информацию о том, что делает служба и как ею управлять. Вы также можете просмотреть краткое описание службы в столбце ОПИСАНИЕ.

В столбце LOADпоказано, загружен ли файл служебного модуля в память. Столбец ACTIVEпоказывает, работает ли это служба или нет. Наконец, столбец SUBпоказывает подсостояние службы, например, запущено, завершено или произошел сбой.

Вы также можете использовать опцию -aили –allвместо службы –type, чтобы вывести список всех типов объектов, а не только служб. .

Показать список активных служб с помощью systemctl

Если вы хотите просмотреть только те службы, которые в данный момент активны (работают) в вашей системе, запустите эту команду в терминале Linux:

sudo systemctl list-units – сервис типа – состояние активно

Это позволит отфильтровать неактивные (остановленные) или неисправные службы.

Показать неактивные службы с помощью systemctl

Аналогично, если вы хотите просмотреть только те службы, которые в данный момент неактивны (остановлены) в вашей системе, запустите эту команду в терминале:.

sudo systemctl list-units –type service –state inactive

Это позволит отфильтровать активные (работающие) или неисправные службы.

Список неисправных служб с помощью systemctl

Если вы хотите увидеть службы, которые не удалось запустить или остановить в вашей системе, откройте терминал и выполните следующую команду:

sudo systemctl list-units –type service –state error

Это позволит отфильтровать все активные (работающие) или неактивные (остановленные) службы.

Показать включенные службы с помощью systemctl

Чтобы узнать, какие службы могут запускаться автоматически во время загрузки вашей системы, выполните следующую команду в терминале:

sudo systemctl list-unit-files – сервис типа – состояние включено

Появится таблица с двумя столбцами: UNIT FILEи STATE. В столбце UNIT FILE отображается имя файла служебного модуля. Столбец STATE показывает, включена ли служба.

Показать отключенные службы с помощью systemctl

Чтобы узнать, какие службы отключены и не запускаются автоматически во время загрузки вашей системы, откройте терминал Linux и выполните следующую команду:

sudo systemctl list-unit-files – сервис типа – состояние отключено

Это позволит отфильтровать включенные или замаскированные службы.

Показать подробную информацию о службе с помощью systemctl

Чтобы просмотреть более подробную информацию о конкретной службе в вашей системе, запустите следующую команду в терминале:

sudo systemctl status <имя-сервиса>

Замените именем файла сервисного модуля, который вы хотите проверить.

Это покажет вам такую ​​​​информацию, как описание, состояние загрузки, активное состояние, подсостояние, идентификатор процесса (PID), использование памяти, использование ЦП и последние журналы обслуживания.

Вы также можете использовать подкоманду show вместо status, чтобы отобразить все свойства службы в формате name=value.

Запуск службы с помощью systemctl

Чтобы запустить службу, остановленную в вашей системе, запустите эту команду в терминале Linux:

sudo systemctl start <имя-сервиса>

Замените именем файла модуля службы, который вы хотите запустить.

При этом служба запустится в фоновом режиме и вернется к командной строке. Вы можете использовать подкоманду status, чтобы убедиться, что служба работает.

Остановить службу с помощью systemctl

Чтобы остановить службу, работающую в вашей системе, выполните в терминале следующую команду:

sudo systemctl stop <имя-сервиса>

Замените именем файла модуля службы, который вы хотите остановить

Это приведет к остановке службы в фоновом режиме и возврату к подсказке. Вы можете использовать подкоманду status, чтобы убедиться, что служба остановлена.

Перезапустить службу с помощью systemctl

Хотите отредактировать и перезагрузить файл конфигурации службы и применить изменения? В этом случае вам придется перезапустить службу.

Чтобы перезапустить службу, работающую в вашей системе, откройте терминал и выполните следующую команду:

sudo systemctl restart <имя-сервиса>

Заменитеименем файла сервисного модуля, который вы хотите перезапустить.

Это остановит и запустит службу в фоновом режиме и вернется к командной строке. Вы можете использовать подкоманду status, чтобы убедиться, что служба работает.

Перезагрузить службу с помощью systemctl

Некоторые службы поддерживают перезагрузку своей конфигурации без остановки и запуска. Перезагрузка службы позволяет вам вносить незначительные изменения в файлы конфигурации этой службы без их перезапуска. Это быстрее и менее разрушительно, чем перезапуск.

Чтобы перезагрузить службу, поддерживающую эту функцию, используйте в терминале следующую командуsystemctl:

sudo systemctl reload <имя-сервиса>

Замените именем файла сервисного модуля, который вы хотите перезагрузить.

Это приведет к перезагрузке службы в фоновом режиме и возврату к подсказке. Вы можете использовать подкоманду status, чтобы убедиться, что служба работает.

Включить службу с помощью systemctl

Чтобы включить автоматический запуск службы во время загрузки вашей системы, запустите эту команду в терминале:

sudo systemctl Enable <имя-сервиса>.

Замените именем файла модуля службы, который вы хотите включить.

Это создаст символическую ссылку из файла сервисного модуля на местоположение в /etc/systemd/system, которая сообщит systemd запустить его во время загрузки.

Вы также можете использовать параметр –nowдля одновременного включения и запуска службы. Например:

sudo systemctl Enable – сейчас

Отключить службу с помощью systemctl

Чтобы отключить автоматический запуск службы во время загрузки вашей системы, запустите эту команду в терминале Linux:

sudo systemctl отключить <имя-сервиса>

Замените именем файла сервисного модуля, который вы хотите отключить.

Это приведет к удалению символической ссылки из /etc/systemd/system, которая сообщает systemd не запускать ее во время загрузки.

Вы также можете использовать параметр –now, чтобы одновременно отключить и остановить службу:

sudo systemctl отключить – сейчас

Показать замаскированные службы с помощью systemctl

Маскировка службы означает связывание ее файла модуля с /dev/null, что предотвращает загрузку службы или управление ею со стороны systemd. Это добавляет дополнительный уровень защиты.

Чтобы увидеть, какие службы замаскированы и не могут быть запущены или остановлены вручную или автоматически в вашей системе, запустите эту команду на терминале вашего ПК с Linux:

sudo systemctl list-unit-files –type service –состояние замаскировано

Список замаскированных служб появится в виде списка (с masked, указанным в столбце STATE)

Маскировка службы с помощью systemctl

Запустите эту команду в терминале, чтобы замаскировать запуск, остановку службы вручную или автоматически в вашей системе:

маска sudo systemctl <имя-сервиса>

Замените именем файла сервисного модуля, который вы хотите замаскировать.

Это создаст символическую ссылку из файла сервисного модуля на /dev/null, чтобы предотвратить его загрузку или управление со стороны systemd..

Демаскируйте службу с помощью systemctl

Вы можете снять маску с службы, которая ранее была замаскирована. Это удалит символическую ссылку на /dev/null и позволит использовать и загружать ее в другом месте.

Чтобы снять маску со службы, которая ранее была замаскирована в вашей системе, выполните следующую команду:

sudo systemctl размаскировать <имя-сервиса>

Замените именем файла сервисного модуля, который вы хотите демаскировать.

Управление вашим ПК с Linux

Если ваш компьютер с Linux использует systemd для управления системными службами, вы можете использовать команду systemctlдля управления ими. Вы можете запускать, останавливать, перезагружать, отключать и контролировать свои службы, что дает вам больший контроль над вашим ПК с Linux.

Другой способ управления компьютером — ограничить доступ к определенным файлам. Вы можете используйте команду chmod на своем ПК с Linux, чтобы разрешить (или запретить) доступ.

Не уверены, подходит ли ваш дистрибутив Linux? Вместо этого вам следует попробовать еще один лучший дистрибутив Linux или даже попробовать портативный дистрибутив Linux. Использование портативного дистрибутива позволит вам легко переключаться между ними.

.

Похожие сообщения:


26.04.2023