所以默认情况下我处于运行级别3.在关机期间我切换到运行级别0.但是如果我在curl
中放置我的脚本(进行/etc/rc0.d/
调用),我就没有取得任何成功,在运行级别0网络已经停止,因此它无法进行curl
调用。
如何获得理想的结果?
答案 0 :(得分:1)
通常在较旧的SysVinit系统中,引导顺序和关闭顺序由位于/etc/init.d
(或/etc/rc.d/
)下每个运行级别目录中的init-script的符号链接的字母数字顺序控制。编号为S##
(start)的链接在引导期间运行,并且在关闭期间运行K##
(kill / stop)脚本。在任何给定时间点可用的服务由引导或关闭序列期间运行的内容控制。例如,较旧的SuSE方案是:
/etc/init.d/
boot.d/
rc0.d/ # runlevel 0
rc1.d/ # runlevel 1
rc2.d/ # runlevel 2
rc3.d/ # runlevel 3
...
S01random # S## - Start init script ## in order 00 -> XX
S01resmgr
S02consolekit
S03haldaemon
S05network # network start
...
K01stopblktrace # KXX - Kill (stop) init script ## in order
K02atieventsd
K09cron
...
K14sshd
K15smbfs
K16apcupsd
K16auditd
K16nmb
K16portmap
K16splash_early
K17syslog
K18network # network shutdown
...
rc4.d/
rc5.d/
rc6.d/
rcS.d/
如果查看/etc/init.d/rc3.d/
中 runlevel-3 的启动/关闭序列,您会看到启动时S05network
控制网络启动和关闭,{{1}关闭时1}}因此,如果您想在网络关闭之前创建一个自定义脚本以在关闭时运行K18network
,则需要创建一个init脚本并在curl
中创建一个软链接并使其编号为被删除的网络服务(/etc/init.d/rc3.d
等)。如果您创建并编写了kill脚本ssh
的软链接(关闭时卷曲),则会在K10curlonsd
关闭后运行,但在任何网络服务被删除之前运行。
虽然您的cron
可能是/etc/init.d
等,但该计划在centos上仍应相同,但一般方法将是相同的。如果您有任何问题,请告诉我。