Список запущенных сервисов linux

Обновлено: 03.07.2024

В операционной системе linux, так же как и в Windows, кроме обычных программ, которые могут взаимодействовать с пользователем есть еще один вид программ. Это работающие в фоне службы. Важность служб тяжело переоценить, они следят за состоянием системы, обеспечивают автоматическое подключение внешних устройств и сети, позволяют процессам взаимодействовать с оборудованием (dbus), а также в виде служб реализованы различные веб-серверы и серверы баз данных. В отличие от пользовательских программ, службы выполняются в фоне, и пользователь не имеет к ним прямого доступа. Пользователь еще не вошел в систему, только началась загрузка а основные службы уже запущенны и работают.

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

Немного теории

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

Служба в Systemd описывается файлом юнита, в нем описано что с ней нужно делать и как себя вести. Существуют такие типы служб:

  • service - обычная служба, программа
  • target - группа служб
  • automount - точка автоматического монтирования
  • device - файл устройства, генерируется на этапе загрузки
  • mount - точка монтирования
  • path - файл или папка
  • scope - процесс
  • slice - группа системных служб systemd
  • snapshot - сохраненное состояние запущенных служб
  • socket - сокет для взаимодействия между процессами.

Нас будут интересовать только service, и совсем немного target, но мы рассмотрели все остальные, чтобы вы смогли взглянуть на картину немного шире. Основы рассмотрели, теперь будет настройка служб LInux.

Утилита systemctl

В Systemd есть специальный инструмент для управления службами в Linux - systemctl. Эта утилита позволяет делать очень много вещей, начиная от перезапуска службы linux и проверки ее состояния, до анализа эффективности загрузки службы. Синтаксис у утилиты такой:

$ systemctl опции команда служба служба.

Опции настраивают поведение программы, подробность вывода, команда - указывает что нужно сделать со службой, а служба, это та самая служба, которой мы собираемся управлять. В некоторых случаях утилита может использоваться без указания команды и службы.

Рассмотрим все по порядку. Опции очень сильно зависят от команд, поэтому рассмотрим их позже, а пока пройдемся по командах:

А теперь основные опции:

Как видите, опции будут мало полезны и лучше обратить больше внимания на команды, с помощью них выполняются все действия.

Управление службами Linux

Теперь, когда вы уже знаете все основы, команды и параметры можно переходить к делу. Со всеми остальными тонкостями разберемся по пути. Сначала давайте посмотрим запущенные службы linux. Нас будут интересовать только программы, а не все эти дополнительные компоненты, поэтому воспользуемся опцией type:

systemctl list-units --type service

services

Команда отобразила все службы, которые известны systemd, они сейчас запущены или были запущены. Программа не пересматривает все файлы, поэтому будут показаны только те службы, к которым уже обращались. Состояние loaded - означает, что конфигурационный файл был успешно загружен, следующая колонка active - служба была запущена, а running или exited значит выполняется ли сейчас служба или она успешно завершила свою работу. Листать список можно кнопками вверх/вниз.

Следующая команда позволяет получить список служб linux, в который входят все службы, даже не запущенные, те, которые не запускались, но известны systemd, но это еще не все службы в системе:

systemctl list-units --type service -all

services1

Дальше больше. Вы можете отсортировать список служб systemctl по состоянию. Например, только выполняющиеся:

systemctl list-units --type service --state running

services2

Или те, которые завершились с ошибкой:

systemctl list-units --type service --state failed

service4

Для фильтрации можно брать любой показатель состояния из любой колонки. Другой командой мы можем посмотреть все файлы конфигурации служб на диске. Тут не будем фильтровать по типу, пусть программа покажет все:

Теперь отфильтруем только службы linux:

systemctl list-unit-files --type service

Здесь вы тоже можете использовать фильтры по состоянию. Теперь вы знаете как посмотреть запущенные службы linux, идем дальше.

Чтобы запустить службу используется команда start, например:

sudo systemctl start application.service

Причем расширение service можно опустить, оно и так подставляется по умолчанию. Если запуск прошел хорошо, программа ничего не выведет.

Остановить службу linux можно командой:

sudo systemctl stop application

Посмотреть состояние службы позволяет команда status:

sudo systemctl status application

services4

Здесь вы можете видеть, состояние running, exited, dead, failed и т д. А также несколько последних строчек вывода программы, которые очень помогут решить проблему с запуском если она возникнет.

Автозагрузка служб в systemd

Как вы знаете, systemd позволяет автоматически загружать службы при запуске системы по мере их надобности. Команда list-unit-files показывает добавлена ли служба в автозагрузку.

Вообще, здесь может быть несколько состояний - enabled - в автозагрузке, disabled - автозагрузка отключена, masked - служба скрыта и static - значит что служба в автозагрузке, но вы не можете ее отключить.

Поэтому чтобы получить список служб linux, запускаемых автоматически достаточно отфильтровать ее вывод по состоянию:

systemctl list-unit-files --state enabled

services5

services6

Все службы, запускаемые по умолчанию. Можете также посмотреть службы static. Чтобы добавить службу в автозагрузку linux используйте команду enable:

sudo systemctl enable application

services7

А для того чтобы убрать ее из автозагрузки:

sudo systemctl disable applciation

services8

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

sudo systemctl is-enabled application

services9

Утилита просто выведет состояние enabled, disabled или static.

Выводы

Теперь настройка служб Linux не вызовет у вас проблем. Много чего мы упустили, systemd - очень большая, сложная и многофункциональная система, которую не охватить в одной статье. Но и также очень сложно понять. Но я думаю, что все, что касается управления службами Linux мы разобрали. Если у вас остались вопросы, спрашивайте в комментариях!


Systemd в Linux. Команда systemctl

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

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

Чаще всего в Linux дистрибутивах для инициализации сервисов используется демон Systemd. К Systemd-дистрибутивам относятся Ubuntu, Debian, Linux Mint, Fedora, openSUSE, Solus и другие.

Есть дистрибутивы, которые не используют Systemd. Вместо Systemd могут использоваться такие системы инициализации, как Upstart, SysV.

В качестве примеров сервисов можно привести: веб-сервер Apache, Network Manager, файрвол Ufw и другие.

Для управления сервисами (Systemd) используется утилита systemctl . Ниже мы рассмотрим основные команды данной утилиты.

Список сервисов

Чтобы просмотреть список всех сервисов можно воспользоваться командой:

Список всех сервисов Systemd

Данная команда пробегает по алфавитному списку всех доступных сервисов и выполняет для них команду status.

В выводе команды используются следующие обозначения:

  • [ + ] - запущенный сервис.
  • [ - ] - остановленный сервис.
  • [ ? ] - для данного сервиса отсутствует команда status.

Запуск сервиса

Для запуска сервиса используется команда systemctl start имя_сервиса

Останов сервиса

Для остановки сервиса используется команда systemctl stop имя_сервиса

Перезапуск сервиса

Перезапуск сервиса выполняется командой systemctl restart имя_сервиса

Обычно перезапуск конкретного сервиса требуется, когда были изменены настройки данного сервиса.

Автозагрузка сервисов

Чтобы сервис стартовал (загружался) при запуске системы, его нужно включить в список автозагрузки. Для этого используется команда systemctl enable имя_сервиса

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

Чтобы удалить сервис из автозагрузки, используется команда systemctl disable имя_сервиса

systemctl enable disable

Статус сервиса

Для вывода информации (статуса) сервиса используется команда systemctl status имя_сервиса

systemctl status

Чтобы проверить, запущен ли в данный момент сервис, используется команда systemctl is-active имя_сервиса

Чтобы проверить, включен ли сервис для автозапуска при загрузке системы, используется команда systemctl is-enabled имя_сервиса

systemctl is-enabled is-active

Заключение

Мы рассмотрели наиболее часто используемые команды утилиты systemctl. Полный список команд и опций утилиты systemctl можно получить, выполнив:


В этой статье я покажу вам, как составить список всех запущенных сервисов в Linux.

Мы также проверим, как проверить статус службы в системе systemd.

Давайте изучим различные команды, используемые для перечисления сервисов в Centos / RHEL 7.x.

Проверить и перечислить сервисы linux (systemd на Centos / RHEL 7.x / Ubuntu /)

Для просмотра списка системных служб запустите

Пример, кстати выполнен на системе Ubuntu 🙂

Для просмотра списка активных сервисов systemd

Другая команда, которую вы можете использовать,

Перечисление сервисов с помощью команды Netstat

Он доступен во всех дистрибутивах Linux, и здесь мы проверим, как составить список сервисов с помощью команды netstat.

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

Просмотр файла /etc/ services

Файл /etc/services представляет собой файл ASCII, который содержит информацию о многочисленных службах, которые клиентские приложения могут использовать на компьютере.

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

ITO put t указывает, является ли служба TCP или UDP, и имя, которое она называет в соответствии с IANA.

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

Чтобы получить более четкое представление, просмотрите файл /etc/services с помощью любого текстового редактора.

Проверка состояния системных служб

В более новых версиях Linux присутствует Systemd init.

Чтобы проверить, работает ли служба, используйте синтаксис ниже

Например, чтобы проверить, работает ли OpenSSH в вашей системе, запустите

Кроме того, вы можете использовать приведенный ниже синтаксис, чтобы проверить, активна ли служба

В этом случае, чтобы проверить, активен ли OpenSSH, выполните

Кроме того, вы можете использовать команду ниже, чтобы проверить, включена ли служба

Чтобы проверить, включен ли OpenSSH, запустите

Проверка статуса услуг в старых системах (Centos / Rhel 6.x / Ubuntu)

Для систем, работающих под управлением SysV Init, вы можете проверить состояние служб, запустив

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Как перечислить все запущенные службы в Linux с помощью командной строки

(1 оценок, среднее: 5,00 из 5)

Как перечислить все запущенные службы в Linux из командной строки

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

Как перечислить все запущенные службы в Linux из командной строки

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

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

Команда «service» поставляется с предустановленной почти с каждым дистрибутивом Linux. Хотя основной целью является запуск и остановка сценариев и создание процессов, «service» также может использоваться для просмотра того, какие службы запущены или остановлены в любой момент. Используя простую команду, нам предоставляется полный список услуг:

Когда вы запустите это, появится такой же результат:

Как вы можете видеть, список услуг предоставляется в виде вывода с символом слева от имени службы. Символ «+» означает, что служба запущена, «-» означает, что она остановлена, а «?» означает, что статус в настоящее время не известен. Когда это используется в сочетании с инструментом поиска, таким как «grep», найти определенные сервисы, которые выполняются, очень легко сделать. Затем вы можете проверить статус на основе процесса, введя команду статуса для определенного процесса:

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

ps -aux

Вы можете использовать это в сочетании с командой «меньше» для дальнейшего улучшения удобочитаемости. При выполнении этой команды нам дается подробная информация о каждом запущенном процессе. Вы также можете использовать команду grep, чтобы сузить результаты до определенного имени процесса, идентификатора процесса и т. д.

Он может выглядеть немного загроможденным, но большая часть этой информации очень полезна. Например, мы можем видеть, как долго работала система, средняя загрузка, сколько пользователей вошли в систему, сколько процессов (задач) работает, спать и т. д., А также информацию об объеме памяти, который у нас есть и доступны на сервере. Top становится еще более подробно, вплоть до уровня, специфичного для процесса. В каждом столбце отображается определенное значение, которое коррелирует с процессом, который выполняется. Мы можем видеть, кто владеет процессом, сколько памяти он использует, сколько используется процессор, имя команды и идентификатор процесса, который является уникальным для этого процесса, и помогает нам идентифицировать его, если есть более одного из тот же процесс. Используя всю эту информацию, мы можем точно видеть, что делает каждый процесс, и сколько ресурсов каждый процесс использует,

Читать Как извлечь файлы Tar в определенный каталог в Linux

Htop очень похож на «top» с точки зрения его основных функций и функциональности. Обычно он не включен в установку операционной системы по умолчанию, однако он доступен для большинства, если не для всех дистрибутивов Linux, через свои предварительно установленные программные репозитории. Подобно top, htop позволяет пользователю просматривать подробную информацию о каждом процессе, а также следить за самой системой. Тем не менее, htop позволяет намного более точно контролировать отображаемую вами информацию, а также предлагать набор утилит, которые могут применяться к процессам.

Например, через htop вы можете настроить тонкость (приоритет) процесса, убить его с различными уровнями силы и т. д. Существует также сортировка, которая упрощает просмотр только важной для вас информации. Выбор процесса возможен с помощью пробела, что упрощает отслеживание и отслеживание определенного процесса (или процессов, поскольку вы можете выбрать более одного за раз). И с функцией поиска, еще проще проверить и обратить внимание на конкретные процессы. Htop даже имеет гистограмму, которая представляет различные системные ресурсы, позволяя вам легко видеть, сколько выделяется процессор или ОЗУ.

Вот пример того, как выглядит htop:

С барами наверху, легко понять, как ваша система работает с одним взглядом, а также настраиваемая подробная информация, доступная под ними.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: