デフォルトでは、いくつかの重要なシステムサービスは、システムの起動時に自動的に開始されます。たとえば、NetworkManagerサービスとFirewalldサービスは、システムの起動時に自動的に開始されます。スタートアップサービスは、LinuxおよびUnixライクなオペレーティングシステムではデーモンとも呼ばれます。彼らはバックグラウンドで実行し続け、ユーザーの介入なしに仕事をします。システムサービスに加えて、他のいくつかのサードパーティアプリケーションもスタートアップに追加されます。この簡単なガイドでは、LinuxおよびUnixライクなシステムで起動時にスタートアップサービスを見つけて一覧表示する方法を見てみましょう。
Linuxでの起動時のスタートアップサービスの一覧表示
スタートアップサービスのリストの検索は、init
によって異なります。 システム。 システム化 Linuxディストリビューションの主要な新しいバージョンのデフォルトのinitシステムです。
システムが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
[email protected] static enabled
apport.service generated enabled
.
.
.
[email protected] static enabled
whoopsie.service disabled enabled
[email protected] disabled enabled
[email protected] disabled enabled
wpa_supplicant.service enabled enabled
[email protected] disabled enabled
x11-common.service masked enabled
[email protected] static enabled
xfs_scrub_all.service static enabled
[email protected] static enabled
265 unit files listed.

上記のように、このコマンドは、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
[email protected] 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のいずれかを使用する場合があります または起動 デフォルトの初期化システムとして。
システムが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
[...]
上記のコマンドで、「オン」はサービスが起動時に開始されることを意味します。
以下のように、さまざまな実行レベルで特定のサービスのステータスを表示することもできます。
$ 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でアプリケーションの起動時間を改善する方法