gpt4 book ai didi

linux - 在 SysVinit 中关闭之前执行具有 curl 调用的脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:00 25 4
gpt4 key购买 nike

所以默认情况下我处于运行级别 3。在关闭期间我切换到运行级别 0。但是如果我将我的脚本(有一个 curl 调用)放在 /etc/rc0.d/,因为运行级别 0 网络已经停止,因此它无法执行 curl 调用。

如何得到想要的结果?

最佳答案

通常在较旧的 SysVinit 系统中,启动顺序和关闭顺序由指向位于 /etc/init.d 下每个运行级别目录中的 init 脚本的符号链接(symbolic link)的字母数字顺序控制 (或 /etc/rc.d/)其中编号为 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 控制,在关机时由 K18network 控制。因此,如果您想创建一个自定义脚本以在网络关闭之前在关闭时运行 curl,您需要创建一个初始化脚本并在 /etc/init 中创建一个软链接(soft link).d/rc3.d 并在网络服务(ssh 等)被关闭之前对其进行编号。在上面,如果您创建并编号了终止脚本 K10curlonsd(关闭时 curl )的软链接(soft link),它将在 cron 关闭之后运行,但在任何网络服务关闭之前运行已删除。

centos上的scheme应该还是一样的,虽然你的/etc/init.d可能是/etc/rc.d等,但是一般方法将是相同的。如果您有任何问题,请告诉我。

关于linux - 在 SysVinit 中关闭之前执行具有 curl 调用的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33802631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com