Поиск по сайту:

Как вывести список служб запуска при загрузке в Linux

По умолчанию некоторые важные системные службы запускаются автоматически при загрузке системы. Например, службы NetworkManager и Firewalld будут автоматически запускаться при загрузке системы. Службы запуска также известны как демоны в Linux и Unix-подобных операционных системах. Они будут продолжать работать в фоновом режиме и выполнять свою работу без какого-либо вмешательства пользователя. Помимо системных служб, в автозагрузку добавятся и некоторые другие сторонние приложения. В этом кратком руководстве мы рассмотрим, как находить и перечислять службы запуска во время загрузки в Linux и Unix-подобных системах.

Список служб запуска при загрузке в Linux

Поиск списка служб запуска будет отличаться в зависимости от системы init. Systemd - это система инициализации по умолчанию для основных новых версий дистрибутивов Linux.

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

sudo systemctl list-unit-files --type=service

Пример вывода:

UNIT FILE                                  STATE           VENDOR PRESET
accounts-daemon.service                    enabled         enabled      
acpid.service                              disabled        enabled      
alsa-restore.service                       static          enabled      
alsa-state.service                         static          enabled      
alsa-utils.service                         masked          enabled      
anacron.service                            enabled         enabled      
apparmor.service                           enabled         enabled      
apport-autoreport.service                  static          enabled      
apport-forward@.service                    static          enabled      
apport.service                             generated       enabled      
.
.
.
wacom-inputattach@.service                 static          enabled      
whoopsie.service                           disabled        enabled      
wpa_supplicant-nl80211@.service            disabled        enabled      
wpa_supplicant-wired@.service              disabled        enabled      
wpa_supplicant.service                     enabled         enabled      
wpa_supplicant@.service                    disabled        enabled      
x11-common.service                         masked          enabled      
xfs_scrub@.service                         static          enabled      
xfs_scrub_all.service                      static          enabled      
xfs_scrub_fail@.service                    static          enabled      

265 unit files listed.

Список всех служб в Linux с помощью systemd

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

Просмотр только включенных служб

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

sudo systemctl list-unit-files --type=service --state=enabled --all

Пример вывода:

UNIT FILE                                  STATE   VENDOR PRESET
accounts-daemon.service                    enabled enabled      
anacron.service                            enabled enabled      
apparmor.service                           enabled enabled      
autovt@.service                            enabled enabled      
avahi-daemon.service                       enabled enabled      
.
.
.
udisks2.service                            enabled enabled      
ufw.service                                enabled enabled      
unattended-upgrades.service                enabled enabled      
vboxweb.service                            enabled enabled      
wpa_supplicant.service                     enabled enabled      

74 unit files listed.

Найти отключенные службы

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

sudo systemctl list-unit-files --type=service --state=disabled --all

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

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

sudo service --status-all

Пример вывода:

 [ + ]  acpid
 [ - ]  alsa-utils
 [ - ]  anacron
 [ + ]  apparmor
 [ + ]  apport
 [ + ]  avahi-daemon
 [ + ]  bluetooth
 [ - ]  console-setup.sh
 [ + ]  cron
 [ - ]  cryptdisks
 [ - ]  cryptdisks-early
 [ + ]  cups
 [ + ]  cups-browsed
 [ + ]  dbus
 [ - ]  dns-clean
 [ + ]  dnsmasq
 [ + ]  exim4
 [ + ]  gdm3
 [ + ]  grub-common
 [ + ]  hddtemp
 [ - ]  hwclock.sh
 [ + ]  irqbalance
 [ + ]  kerneloops
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ + ]  lm-sensors
 [ - ]  lvm2
 [ - ]  lvm2-lvmpolld
 [ + ]  network-manager
 [ + ]  networking
 [ + ]  openvpn
 [ - ]  plymouth
 [ - ]  plymouth-log
 [ - ]  pppd-dns
 [ + ]  procps
 [ - ]  pulseaudio-enable-autospawn
 [ - ]  rsync
 [ + ]  rsyslog
 [ - ]  saned
 [ - ]  screen-cleanup
 [ + ]  smartmontools
 [ - ]  speech-dispatcher
 [ - ]  spice-vdagent
 [ + ]  sysstat
 [ + ]  udev
 [ + ]  ufw
 [ + ]  unattended-upgrades
 [ - ]  uuidd
 [ + ]  virtualbox
 [ - ]  whoopsie
 [ - ]  x11-common

Здесь + означает, что служба работает, а - означает остановленную службу. Если вы видите ? в выводе, состояние службы невозможно определить (по какой-то причине).

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

sudo chkconfig --list

Эта команда выведет состояние каждой службы на каждом уровне запуска. Пример вывода приведенной выше команды будет:

acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
anamon          0:off   1:off   2:off   3:off   4:off   5:off   6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
[...]

В приведенной выше команде «on» означает, что служба запускается при загрузке.

Просмотр состояния услуг

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

sudo chkconfig --list httpd

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

sudo initctl list

Приведенная выше команда покажет все задания Сеанса.

Если вы хотите отобразить все Системные задания, запустите:

sudo initctl --system list

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

sudo initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

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

initctl show-config <service_name>

Отключить службы запуска в Linux

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

Скажем, например, если вы не хотите, чтобы служба с именем unattended-upgrades.service загружалась при запуске, вы можете отключить ее с помощью команды:

sudo systemctl disable --now unattended-upgrades.service

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

sudo systemctl is-enabled <service-name>

Связанное чтение:

  • Как сократить время запуска приложений в Linux

Статьи по данной тематике