Process Exit and Recovery
Retry Recovery
Count Attempts
A recovery path can retry once after a failed first attempt. The script records how many attempts were needed and the final result.
Program
Play the script to choose the first status and see the recovery summary.
retry_recovery_plan.sh
Replay: real traced execution (multi-file project)
#!/usr/bin/env bash
first_status=1
if [ "$first_status" -ne 0 ]; then
attempts=2
result="recovered"
else
attempts=1
result="clean"
fi
echo "attempts=$attempts result=$result"
#!/usr/bin/env bash
first_status=0
if [ "$first_status" -ne 0 ]; then
attempts=2
result="recovered"
else
attempts=1
result="clean"
fi
echo "attempts=$attempts result=$result"
first_status ← 1
3first_status=14if [ "$first_status" -ne 0 ]; thenvalues this step1first_statusif [ "$first_status" -ne 0 ]; then
3first_status=14if [ "$first_status" -ne 0 ]; then5 attempts=2values this step1first_statusattempts ← 2
4if [ "$first_status" -ne 0 ]; then5 attempts=26 result="recovered"values this step2attemptsresult ← recovered
5 attempts=26 result="recovered"7elsevalues this steprecoveredresultecho "attempts=$attempts result=$result"
10fi11echo "attempts=$attempts result=$result"outputattempts=2 result=recoveredvalues this step2attemptsrecoveredresult
first_status ← 0
3first_status=04if [ "$first_status" -ne 0 ]; thenvalues this step0first_statusif [ "$first_status" -ne 0 ]; then
3first_status=04if [ "$first_status" -ne 0 ]; then5 attempts=2values this step0first_statusattempts ← 1
7else8 attempts=19 result="clean"values this step1attemptsresult ← clean
8 attempts=19 result="clean"10fivalues this stepcleanresultecho "attempts=$attempts result=$result"
10fi11echo "attempts=$attempts result=$result"outputattempts=1 result=cleanvalues this step1attemptscleanresult
retry
A retry repeats work after a failed first attempt.
attempt count
Recording attempts makes recovery behavior visible.
recovered
A recovered result means the retry path made the workflow usable again.