Debian 9 또는 Raspbian 8에서 종료 시 스크립트를 실행하는 방법(Jessie)

Debian 9 또는 Raspbian 8에서 종료 시 스크립트를 실행하는 방법(Jessie)

재부팅 및 종료 시 다음 셸 스크립트를 실행하고 싶습니다.

#!/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

하지만 종료 시 실행해야 합니다.

데비안 8과 9 테스트에서 이 작업을 어떻게 수행하나요?

이것제안 touch /var/lock/subsys/te1쓸모 없는.

답변1

내 생각에는 다른 사람들도 이 프로그램을 실행하는 데 문제가 있는 것 같습니다. systemd는 Debian 8.0(Jessie)부터 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.servicesudo 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

관련 정보