특정 프로세스를 실행하고 작업 상태에 따라 숫자를 반환하는 스크립트가 있습니다. 스크립트는 백그라운드에서 트리거됩니다.
즉
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
이 경우 "반환 코드"와 "종료 코드"는 동의어라고 생각합니다. 이 용어들이 서로 다른 의미를 가지고 있다는 뜻이라면 제가 오해한 것인데, 차이점이 무엇인지 상상이 안 가네요.