Raspianを使用しているRaspberryを持っていると思いますが、私の知る限り、これはまだsystemdに移行していません。この場合、答えは次のとおりです。
編集:systemd(Jessie以降)の場合、下部を参照してください。
まず、次のコマンドを使用して、現在実行中のシステムを判別できます。
sudo service --status-all
次のようなリストが表示されます。
[ + ] triggerhappy
[ + ] udev
[ ? ] udev-mtab
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] urandom
[ + ] vsftpd
[ + ] weewx
[ - ] x11-common
+「sが、サービスが実行されている指示-'sサービスがない、実行している?」sの許可されていないサービスの状態を可能なコマンドとして:彼らはほとんどただ時折、すべての時間を実行する必要はありませんコマンドですが。
質問に戻るには、Linuxのランレベルを理解する必要があります。実行レベル(0〜6 + S)は、どのサービスを実行する必要があるかを特定します。ブートシーケンスは、最初のランレベル(私のRaspberryの/ etc / inittabで指定)から進行します
# The default runlevel.
id:2:initdefault:
この行はそれを2として識別し、その後ディストリビューション標準の最終ランレベル(2から5)に進みます。コマンドを使用して現在のランレベルを特定します
# runlevel
N 2
(私の場合、ヘッドレスサーバー)。他のランレベルは次のとおりです(再びé/ etc / inittab *から):
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
単一ユーザー(1)は、多くの場合Sとしても識別されます。
通常のブートでは、2から始まり5まで進行します。この進行で開始されたサービスを見つけるには、次のコマンドを発行します。
# grep -nrI Default-Start /etc/init.d
umountroot:7:# Default-Start:
checkroot.sh:8:# Default-Start: S
kbd:6:# Default-Start: S
isc-dhcp-server:11:# Default-Start: 2 3 4 5
mountkernfs.sh:7:# Default-Start: S
hostname.sh:7:# Default-Start: S
mountnfs.sh:7:# Default-Start: S
halt:6:# Default-Start:
dphys-swapfile:20:# Default-Start: 2 3 4 5
bootlogs:7:# Default-Start: 1 2 3 4 5
rc.local:6:# Default-Start: 2 3 4 5
hostapd:9:# Default-Start: 2 3 4 5
keyboard-setup:8:# Default-Start: S
lightdm:7:# Default-Start: 2 3 4 5
procps:11:# Default-Start: S
mysql:9:# Default-Start: 2 3 4 5
single:6:# Default-Start: 1
vsftpd:7:# Default-Start: 2 3 4 5
samba:7:# Default-Start: 2 3 4 5
mountall.sh:6:# Default-Start: S
weewx:20:# Default-Start: 2 3 4 5
umountnfs.sh:7:# Default-Start:
triggerhappy:6:# Default-Start: 2 3 4 5
ifplugd:24:# Default-Start: 2 3 4 5
alsa-utils:9:# Default-Start: S
bootmisc.sh:7:# Default-Start: S
sendsigs:6:# Default-Start:
console-setup:7:# Default-Start: S
nfs-common:7:# Default-Start: 2 3 4 5 S
checkroot-bootclean.sh:6:# Default-Start: S
rsyslog:7:# Default-Start: 2 3 4 5
x11-common:7:# Default-Start: S
mountdevsubfs.sh:7:# Default-Start: S
cron:10:# Default-Start: 2 3 4 5
mountnfs-bootclean.sh:6:# Default-Start: S
mountall-bootclean.sh:6:# Default-Start: S
screen-cleanup:11:# Default-Start: S
udev:6:# Default-Start: S
ssh:7:# Default-Start: 2 3 4 5
haveged:8:# Default-Start: 2 3 4 5
hwclock.sh:26:# Default-Start: S
plymouth:9:# Default-Start: 2 3 4 5
motd:7:# Default-Start: 1 2 3 4 5
killprocs:6:# Default-Start: 1
networking:6:# Default-Start: S
fake-hwclock:9:# Default-Start: S
udev-mtab:6:# Default-Start: S
apache2:6:# Default-Start: 2 3 4 5
reboot:6:# Default-Start:
umountfs:6:# Default-Start:
plymouth-log:9:# Default-Start: S
openvpn:11:# Default-Start: 2 3 4 5
kmod:8:# Default-Start: S
ntp:7:# Default-Start: 2 3 4 5
rpcbind:9:# Default-Start: S 2 3 4 5
urandom:6:# Default-Start: S
rmnologin:6:# Default-Start: 2 3 4 5
checkfs.sh:7:# Default-Start: S
sudo:8:# Default-Start: 2 3 4 5
mtab.sh:6:# Default-Start: S
dbus:6:# Default-Start: 2 3 4 5
rsync:8:# Default-Start: 2 3 4 5
これにより、/ etc/init.d/内のすべてのファイルのDefault-Startで始まる行が出力されます。ここには、さまざまなサービスを識別するファイルが保持されます。問題の行は、各サービスが開始されるランレベルを識別します。サービスがランレベルNで開始された場合、システムがN + 1に進んだとき、サービスを再度開始する必要はありませんが、実行されていないことがわかった場合は開始されます。
これにより、サービスが開始されるさまざまな段階を正確に把握できます。しかし、同じランレベルの範囲内で、行に必要なスタートべきであり、スタートは当該サービスのためのハードとソフトの依存関係を定義する、すなわち、サービス必要があります実行しなければならないサービスが検討される前に実行します。Required-Startサービスがなければ、問題のサービスは失敗し、Should-Startサービスがなければ、一般的な失敗はなく、おそらくいくつかの有用な機能が欠けているだけです。Required-StopおよびShould-Stopを使用した停止時にも同じことが発生します。
システム化:
すべてのサービスをリストするコマンドは
systemctl list-unit-files
これは多くの情報を吐き出します。有効なすべてのサービス、つまり起動時に開始されるサービスを選択するには、上記のコマンドを次のようにgrepします。
systemctl list-unit-files | grep enabled
私はこのコマンドをsystemctl list-unitsよりも好みます:違いは、このコマンドはOSがメモリに持っているサービスのみを表示することです= OSは必要と考えます)、systemctl list-unit-filesはインストールされているすべてのサービスを表示しますマスク(つまり、手動でも開始しないと想定されるもの)、およびアクティブ化されないもの(静的と呼ばれます)。言い換えれば、私が提案したコマンドは、アクティブなサービスのみをリストするコマンドよりも包括的です。
注意:systemdは、以前のinitシステムとは大きく異なります。特に、ランレベルはなく、ターゲットがあります。ランレベルは互換性の理由からまだ存在し、利用可能なすべてのターゲットをリストすることで特定のターゲットとして見ることができます
systemctl list-unit-files --type=target
現在のターゲットを表示するには、
$ systemctl get-default
graphical.target
詳細については、DigitalOceanの優れた紹介ページをご覧ください。
systemd
が、この答えはまだ機能しているようです。