Solaris 和 smf:如何使用 smf 关闭 rc.local?

Solaris 和 smf:如何使用 smf 关闭 rc.local?

使用旧的良好 SystemV 脚本,如果我在关闭之前想要一些东西,我将这样的脚本放在 /etc/rc0.d/ 中

K400rc.local.shutdown.sh

我编辑它并输入我想在关机前运行的命令。在带有 systemd 的 Linux 上,我创建了一个像这样的“清单”

vim /lib/systemd/system/rc-local-shutdown.service

[Unit]
Description=/etc/rc.local.shutdown Compatibility
ConditionFileIsExecutable=/etc/rc.local.shutdown
DefaultDependencies=no
After=rc-local.service basic.target
Before=shutdown.target reboot.target

[Service]
Type=oneshot
ExecStart=/etc/rc.local.shutdown
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=shutdown.target

工作得很好......在关闭之前我可以输入我的命令。问题是..有人知道如何使用 Solaris smf 执行这样的清单吗?我知道如何执行 rc.local,但不知道如何执行 rc.local.shutdown 清单。有人知道吗?

答案1

Solarissmf尊重旧脚本,因此您的脚本/etc/rc0.d/K400rc.local.shutdown.sh将在关闭时执行。前缀K40和后缀.sh是唯一重要的部分,其余部分0rc.local.shutdown对操作系统没有任何意义。

如果您想将此任务转换为smf服务,不要考虑关闭和运行级别,而是更好地确定您的服务将依赖什么(您的服务将在所选服务结束后停止)。

然后创建一个无操作启动的清单exec-method,并使用关闭脚本作为 stop exec-method

相关内容