web-dev-qa-db-ja.com

起動時に開始するサービスを一覧表示するコマンド?

起動時に実行されるサービスを一覧表示するコマンドはありますか? /etc/init.d/およびさまざまな/etc/rc.*ディレクトリの解析が含まれると思います。

142
Eric H

推奨されるinitctl listコマンドではなく、/etc/init Shellコマンドを使用して、dbus-sendの内容をリストするだけで済みます。

104
Scott

簡単な答えは、initシステムに依存します。

長い答えは次のとおりです。Ubuntuの現在のバージョンでは、おそらく pstartSystemV が混在しています。 15.04以降のUbuntuの新しいバージョン「Vivid Vervet」(およびRHEL/CentOS 7のような他のLinuxディストリビューション)では、 SystemD を使用するように移行しています。

新興企業

すべてのサービスをリストするには:

initctl list

すべてのUpstartサービスをリストし、それらに対してinitctl show-configを実行するには、このワンライナーが役立ちます。

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

システムV

すべてのサービスをリストするには:

service --status-all

または:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

SystemD

すべてのサービスをリストするには:

systemctl list-unit-files --type=service

または:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service
117
TrinitronX

/etc/init.dおよび/etc/rc.*ディレクトリは、 'upstart' initツールに置き換えられました。これらのディレクトリ内のスクリプトは期待どおりに実行されますが、initで実行する新しい方法は/etc/init/のファイルによって定義されます

Dbusでupstartを照会することにより、すべてのupstartジョブをリストできます。

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

0_6を変更して、お持ちの新興企業のバージョンを反映する必要がある場合があります。このコマンドは、私の明快インストールで機能します。

13
Jeremy Kerr

サービスと起動にかかる時間の素敵なグラフィック表示が必要な場合は、次を試してください。

apt-get install bootchart
12
john

Idは、initctl show-config <servicename>を使用して、ブート中にサービスをいつ/いつ開始するかの詳細を取得します。

そのようです:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

またはNFS4 idmap-daemonの場合:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

chkconfigは、RedHatベースのシステムでのみ推奨されます。

11
CBmemnon

12.04では次を使用できます。

Sudo apt-get install chkconfig
chkconfig --list

しかし、それは 12.10で削除 でした。

サンプル出力:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

Ubuntu 18.04の場合:

systemctl list-units --type=service

の代わりに :

initctl

Ubuntu 16.04から、initctlsystemdに置き換えられました。 https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)

(@ sanjay-manoharに役立つ場合)

1
AppyGG

以下のシステムサービスとスクリプトに加えて:

/ etc/init.d /
/ lib/systemd/system /
/ etc/systemd/system /

おそらくAutoStart Applicationsもあります。たとえば:

find / -name "*autostart*"

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"
0
Noam Manos