Как вывести список служб запуска при загрузке в 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