cas*_*per 6 shutdown init-script unmounting systemd readonly
在文件系统重新挂载为只读后,有没有办法在关机时运行脚本?
我有一个连接到无线套接字的树莓派,我可以通过发送器和脚本来控制它。在文件系统以只读方式安装后,我想在关机时关闭该套接字(关闭树莓派的电源)。
我试过这个:
[Unit]
Description=Test
DefaultDependencies=no
Requires=shutdown.target umount.target final.target
After=shutdown.target umount.target final.target
[Service]
Type=oneshot
ExecStart=/test
KillMode=none
[Install]
WantedBy=halt.target
Run Code Online (Sandbox Code Playgroud)
脚本 /test 确实输出当前的挂载。当它在关机时运行时,它声明根文件系统的读/写,而不是预期的只读。
编辑:
/test 的内容:
#!/bin/bash
echo -n 'Debug-Mount: ' > /dev/tty1
cat /proc/mounts | grep /dev/sda > /dev/tty1
Run Code Online (Sandbox Code Playgroud)
关机时的屏幕输出:
我找到了一个可靠的解决方案:只需将脚本放在 /usr/lib/systemd/system-shutdown/ 中。
另见:https : //www.freedesktop.org/software/systemd/man/systemd-halt.service.html
在执行实际系统halt/poweroff/reboot/kexec systemd-shutdown 之前,将运行/usr/lib/systemd/system-shutdown/ 中的所有可执行文件,并向它们传递一个参数:“halt”、“poweroff”、“reboot” " 或 "kexec",取决于选择的操作。此目录中的所有可执行文件都是并行执行的,并且在所有可执行文件完成之前不会继续执行操作。
归档时间: |
|
查看次数: |
4445 次 |
最近记录: |