`rc.local` 끝에 `exit 0`을 추가해야 *필요*합니까?

`rc.local` 끝에 `exit 0`을 추가해야 *필요*합니까?

종료 코드의 목적은 무엇입니까 rc.local? 별 탈 없이 잘 지내고 있는 것 같아요. 제목은 다음과 같습니다.

#!/bin/sh -e
#
# rc.local - executed at the end of each multiuser runlevel
#
# Make sure that the script will "exit 0" on success or any other
# value on error.

반환 코드는 누가 확인하나요? 어쨌든 기본값은 0인가요?

답변1

"항상"이라고 말하지 않습니다 exit 0. 줄바꿈 없이 다시 읽어보세요.

성공 시 스크립트가 "0으로 종료"되고 오류나 다른 값으로 인해 "0으로 종료"되는지 확인하세요.

  • 성공을 나타내려면 0을 종료하세요.
  • 오류를 표시하려면 다른 값으로 종료하십시오.

상태를 반드시 확인할 필요는 없지만 일부 초기화 시스템에서는 사용자 화면에 "[OK]" 또는 "[FAIL]"이 표시됩니다. 그럼에도 불구하고 스크립트가 의미 있는 반환 코드로 종료되는지 확인하는 것이 좋습니다.

다른 스크립트와 마찬가지로 기본 종료 상태는 스크립트에서 실행된 마지막 명령의 종료 상태가 됩니다.

답변2

exit 0스크립트 끝에 추가할 필요는 없습니다 .

locate rc.local | grep -vF /etc/rc.local/etc/rc.local 호출과 관련될 수 있는 파일을 찾고 해당 종료 코드를 확인하려면 실행하세요 .

/etc/init.d/rc.local 내 Xubuntu 15.10의 init 스크립트는 다음과 같습니다. "$VERBOSE" 변수가 "no"가 아닌 경우 종료 코드를 가져오고 해당 값으로 무언가를 기록하는 것 같습니다.

이 행을 /etc/rc.local에 넣으면 echo "$(ps -o args= $PPID)" >/tmp/caller부팅 중에 호출자의 이름이 /tmp/caller 파일에 기록됩니다. 내 Xubuntu 15.10 시스템에서는 "/sbin/init 영구 부팅"입니다.

답변3

rc.local은 스크립트 파일입니다. Linux가 시작된 후 실행되는 마지막 명령에 스크립트를 넣을 수 있습니다.

rc.local은 오류를 지능적으로 복구하는 방법을 제공하지 않습니다. 명령이 실패하면 실행이 중지되고 오류가 발생하면 도움말이 0으로 종료됩니다.

종료 코드는 Unix 명령이 상위 프로세스에 제어권을 반환할 때 반환하는 0에서 255 사이의 숫자입니다.

관련 정보