내 스크립트가 런레벨 0에서 실행되지 않는 이유는 무엇입니까?

내 스크립트가 런레벨 0에서 실행되지 않는 이유는 무엇입니까?

다음 LSB 헤더로 스크립트를 만들었습니다.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          updateservice
# Required-Start:    $local_fs $time $network $named $syslog
# Required-Stop:     $local_fs $time $network $named $syslog
# Default-Start:
# Default-Stop:      0
# Short-Description: Update Service
# Description:       This script is meant to update and upgrade
#                    the system. It uses apt-get.
### END INIT INFO

넣고 /etc/init.d링크를 만들어서 update-rc.d내가 원하는 링크를 얻어보세요

 lrwxrwxrwx 1 root root 19 Nov 29 13:08 /etc/rc0.d/K01update.sh -> ../init.d/update.sh

....하지만: 종료 시 스크립트가 실행되지 않습니다. 왜?

수동으로 실행하면 /etc/init.d/update.sh stop내가 원하는 대로 정확하게 수행되지만 종료 시에는 실행되지 않습니다. 그리고 재미있는 사실처럼 동일한 스크립트와 구성이 Raspberry Pi에서도 예상대로 작동합니다.

너희들은 전문가들이야... 혹시 아는 사람 있어?

PS: uname -a출력:

Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux

내 초기화 시스템은 Systemd입니다.

답변1

출력에서:

lrwxrwxrwx 1 root root 19 Nov 29 13:08 /etc/rc0.d/K01update.sh -> ../init.d/update.sh

Kin은 K01update.shLinux가 실행 수준 0에 들어갈 때 프로세스가 01단계에서 종료됨을 의미합니다! 나는 데비안을 가지고 있지 않지만 둘 다 Linux이기 때문에 Redhat Linux에서는 chkconfig이러한 우선 순위 수준에서 서비스를 시작하거나 중지 할지 여부를 나타내기 위해 아래와 같은 주석 줄을 추가해야 합니다 !

# chkconfig: 2345 70 80

첫 번째 숫자는 실행 수준(2345)이고 두 번째 숫자는 시작 우선 순위(70)를 나타내며 마지막 숫자는 중지 우선 순위(80)를 나타냅니다!

update-rc.d그런데 꼭 필요한지 모르겠어요 !

관련 정보