종료 코드의 목적은 무엇입니까 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 사이의 숫자입니다.