我想在重新启动和关闭时执行此 shell 脚本:
#!/bin/sh
touch /test
其权限是
-rwxr-xr-x 1 root root 22 Feb 24 09:34 /etc/init.d/te1
它有这个链接
/etc/rc0.d/K01te1 -> ../init.d/te1
/etc/rc6.d/K01te1 -> ../init.d/te1
如果我有这个链接,它就会在启动时工作
/etc/rc5.d/S01te1 -> ../init.d/te1
但我需要它在关闭时运行。
如何在 Debian 8 和 9 测试中执行此操作?
这建议 touch /var/lock/subsys/te1
没用。
答案1
我的印象是其他人在运行这个程序时似乎也遇到了问题。似乎从 Debian 8.0 (Jessie) systemd 开始就破坏了与 System V init 的兼容性。
所以这里建议创建一个 systemd 服务。解决办法是在这里使用看起来像这样:
[Unit]
Description=The te1 script
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/usr/local/bin/te1
[Install]
WantedBy=multi-user.target
systemd 服务需要保存/lib/systemd/system/te1.service
在sudo systemctl enable te1
.
答案2
似乎你可以通过一些搜索找到它,但是:
将你的脚本放在 /etc/rc6.d 授予必要的权限:
sudo chmod +x K99_script
和一些要点: 不需要
.sh 扩展名K_99 此处的脚本按字母顺序执行 读取
这里
答案3
尝试在运行级别 6 中将脚本作为启动脚本执行
ln -s /etc/init.d/te1 etc/rc0.d/S01te1