ls -l /etc/init.d/
给我一个在 Linux 上启动的服务列表。我如何知道服务的启动顺序?
就像如果ls -l /etc/init.d/
列出
serviceA
serviceB
serviceC
我想知道是否serviceB
从之前开始serviceA
。我想知道开始的顺序
答案1
/etc/init.d/
不使用该目录。实际使用的目录将是目录之一/etc/rc*.d
。哪一个取决于哪一个运行级别你的系统进入。通常您会在运行级别 5 下启动/etc/rc5.d/
。
因此,如果您想找到脚本将在此处开始运行的顺序。这些脚本的运行顺序取决于目录中包含的符号链接的名称/etc/rc*.d
。当您进入运行级别(启动时)时,将执行以 S 开头的脚本。以 D 开头的脚本在离开此运行级别时执行(例如:关闭)。脚本按文件名顺序执行。这就是为什么这些目录中的符号链接用数字命名,以便将它们按“正确”的顺序排列。
答案如此简短......LC_COLLATE=C ls -l /etc/rc5.d
无论打印的顺序是什么,它们都会运行。