시스템이 종료되면 udisksctl이 작동하도록 할 수 없습니다.

시스템이 종료되면 udisksctl이 작동하도록 할 수 없습니다.

시스템이 완전히 종료되면 Rock64 SoC PC(Raspberry Pi와 유사)에 연결된 HDD를 정상적으로 종료하려고 하는데 다음을 사용할 수 있습니다.유디스크 스테이크주문하다. 파일을 수동으로 완벽하게 실행할 수 있으며 모든 디스크의 속도가 느려지지만 닫은 후에는 작동하지 않습니다.

종료 파일을 다음 위치에 만들었습니다.

/lib/systemd/system-shutdown/graceful_disk_shutdown.shutdown

, 실행 가능하게 만들려면 파일 내용은 다음과 같습니다.

#!/bin/bash
exec </dev/null </dev/null 2>/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

다른 사람이 신고했어요여기그리고 사용하는 것이 좋습니다HD 매개변수대신 이것은 나에게 효과적이었지만 왜 그런 질문에 대답하지 않습니다.우디스코텔작동하지 않습니다.

어떤 아이디어가 있나요?

답변1

systemd가 /lib/systemd/system-shutdown에서 스크립트를 읽을 때 파일 시스템은 이미 마운트 해제되어 읽기 전용입니다.

이 링크 "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에 있는 스크립트를 사용하는 서비스입니다.

관련 정보