ls -l /etc/init.d/
Linuxで起動するサービスのリストを教えてください。サービスの開始順序をどのように知ることができますか?
ls -l /etc/init.d/
リストされているように
serviceA
serviceB
serviceC
serviceB
以前から始まったのか気になりますserviceA
。開始順序を知りたい
答え1
/etc/init.d/
このディレクトリは使用されません。使用される物理ディレクトリはディレクトリの1つになります/etc/rc*.d
。どれがどれによって決まるか。ランレベルシステムが入ります。通常、ランレベル5で起動します/etc/rc5.d/
。
したがって、スクリプトの実行が開始される順序を見つけるには、ここで確認してください。これらのスクリプトが実行される順序は、ディレクトリに含まれるシンボリックリンクの名前によって異なります/etc/rc*.d
。 (起動時)ランレベルを入力すると、Sで始まるスクリプトが実行されます。 Dで始まるスクリプトは、このランレベルを終了したときに実行されます(例:終了)。スクリプトはファイル名順に実行されます。これが、このディレクトリにあるシンボリックリンクの名前が数字で指定され、「正しい」順序で配置される理由です。
答えは短すぎます。LC_COLLATE=C ls -l /etc/rc5.d
印刷物の順序に関係なく印刷が実行される。