GP9*_*P92 3 init-script sysvinit init.d rc
我试图在启动时显示当前运行级别的启动脚本列表。我写了以下代码。
rl=`runlevel | cut -d " " -f2`
ls /etc/rc.d/rc$rl.d/S* | cut -d "/" -f5
sleep 10
Run Code Online (Sandbox Code Playgroud)
如果我将此代码放入rc.local
文件中,它会起作用。
但是,如果我将它放在rc
文件或单独的脚本文件abc
中/etc/init.d
并通过在运行级别目录中创建软链接,它就不起作用。
但是像下面这样的简单命令能够在所有方法中运行。
ls /etc/init.d
Run Code Online (Sandbox Code Playgroud)
除非某些脚本已启动,否则某些命令(如运行级别或管道)是否无法工作?或者还有别的什么吗?
如果我把我的代码放在rc
文件中,我的代码会在重启前后运行。
rc
,rc.local
和rc.sysinit
files之间有什么区别?我也可以在 2、3、4 和 5 个运行级别中找到S99local
-> 软链接rc.local
。
这是否意味着rc.local
不会在运行级别 1 上运行?
rc
Linux 发行版通常不使用,但在 BSD 中使用rc.local
用于能够在启动期间执行其他命令而无需添加符号链接。rc.sysinit
似乎是特定于Red Hat 的,并且在该过程的早期执行。它作为第一个脚本rc.local
执行,而稍后执行。我也可以在 2、3、4 和 5 运行级别中找到 S99local -> rc.local 的软链接。这是否意味着 rc.local 不会在运行级别 1 上运行?
正确的,这意味着S99local这是一个符号链接/etc/rc.local
会进入运行级别时最后执行的脚本之一2
,3
,4
和5
。它不会得到执行的运行级别1
为1
是单用户运行级,通常用于救援/维修工作。
归档时间: |
|
查看次数: |
10169 次 |
最近记录: |