반환 코드(종료 코드 아님)를 캡처하는 방법

반환 코드(종료 코드 아님)를 캡처하는 방법

특정 프로세스를 실행하고 작업 상태에 따라 숫자를 반환하는 스크립트가 있습니다. 스크립트는 백그라운드에서 트리거됩니다.

ksh -x myscript.sh 20150102 &

내 질문은 백그라운드 프로세스의 반환 코드를 얻는 방법입니다. 종료 코드와 같은 반환 코드를 얻는 방법이 있습니까?$?

답변1

사용 wait:

# Start the job:
ksh -x myscript.sh 20150102 &

# Save its process ID
job_pid=$!

# Do some other stuff in the meantime
asdf ghjk
zxcv qwer

# Later, when you want to know what its exit status was:
wait $job_pid
if [ $? -ne 0 ]; then
    echo "Something may have gone wrong" >&2
else
    echo "The world is perfect." >&2
fi

이 경우 "반환 코드"와 "종료 코드"는 동의어라고 생각합니다. 이 용어들이 서로 다른 의미를 가지고 있다는 뜻이라면 제가 오해한 것인데, 차이점이 무엇인지 상상이 안 가네요.

관련 정보