프로세스가 종료될 때 반환 코드가 무엇인지, 해당 값이 일반적으로 어디에 기록되는지 어떻게 알 수 있나요?

프로세스가 종료될 때 반환 코드가 무엇인지, 해당 값이 일반적으로 어디에 기록되는지 어떻게 알 수 있나요?

프로세스가 실행되고 종료되면 0이 아닌 상태를 반환합니다(저는 개인적으로 "반환 코드"라는 용어를 선호합니다). 0 상태에서도 값이 있다는 것을 알고 있습니다(주로 저는 C++ 프로그래밍을 해왔고 여러분을 알고 있기 때문입니다). 메서드 끝에서 값을 반환할 수 있습니다 main(). 하지만 다음과 같은 것을 실행하면 다음과 같은 이유도 있습니다.

fuser -s ./myfile.txt && echo "a process is accessing your file"

echo프로세스에서 반환된 상태 값이 인 경우 fuser에만 인쇄하고 0, 그렇지 않은 경우에는 모두 건너뛴다는 것을 알고 있습니다 echo. 그 이유는 다음과 같습니다.

"지정된 파일 중 하나라도 액세스되지 않거나 치명적인 오류가 발생하면 퓨저는 0이 아닌 반환 코드를 반환합니다."

이제 이 반환 코드를 표시하여 해당 값을 확인하려면 어떻게 해야 합니까? 예를 들어 스크립트를 실행하는 경우 fuser액세스 -silent되지 않은 파일과 실제 치명적인 오류 간의 차이를 알 수 있도록 반환 코드/상태의 값을 아는 것이 중요해 보이기 때문입니다.

또한 해당 값의 의미를 이해할 수 있도록 프로세스의 반환 코드/상태가 문서화되어 있는 매뉴얼 페이지의 공통 위치가 있습니까? 아니면 반환 코드가 무엇인지에 대한 표준이 있는 문서가 있습니까?

답변1

특수 매개변수를 사용하여 마지막으로 실행된 명령의 반환 코드에 액세스할 수 있습니다 $?. 성공에 대한 "0"과 실패에 대한 0이 아닌 것 외에는 문서화된 표준(적어도 널리 채택되는 표준은 없음)이 없습니다. manpage어떤 특정 명령이 실행되고 있는지 확인해야 합니다 .

관련 정보