当系统完全关闭时,我试图优雅地关闭连接到我的Rock64 SoC PC (类似于Raspberry Pi)的硬盘,并且我已经成功地使用了<>udiskstcl命令。我可以手动地很好地运行这个文件,它确实可以关闭所有的磁盘,但是,在关闭时它就不能工作了。
我已经创建了我的关闭文件
/lib/systemd/system-shutdown/graceful_disk_shutdown.shutdown,使其可执行,该文件的内容如下:
#!/bin/bash
exec /dev/null
export LANG=C LC_ALL=C
# Wait for media to be in idle state.
sync
[ -x /sbin/mdadm ] && /sbin/mdadm --wait-clean --scan
# Function used to power off all SATA disks.
function power_off_disks() {
for disk in /sys/block/sd* ;
do
[ -e $disk ] && /usr/bin/udisksctl power-off -b /dev/${disk##*/}
sleep 2
done
}
case "$1" in
*)
power_off_disks
;;
esac其他人报告了它的这里,并被告知使用hdparm代替,这确实对我有效,但它没有回答为什么udiskctl不能工作的问题。
有什么想法吗?
发布于 2021-04-10 22:49:15
到systemd读取/lib/systemd/system-关机中的脚本时,文件系统已经被汇总并被只读。
将这个链接"https://unix.stackexchange.com/questions/347275/how-to-run-a-script-at-shutdown-on-debian-9-or-raspbian-8-jessie/347686#347686“作为一个服务,使用放置在例如/usr/local/sbin中的脚本。
https://unix.stackexchange.com/questions/644489
复制相似问题