저는 Ubuntu 20.04를 사용하고 있으며 ffmpeg 명령이 백그라운드에서 충돌하는지 확인하는 스크립트를 작성하고 싶습니다. 충돌이 발생한 후에는 명령을 다시 초기화해야 합니다. 누구든지 bash 스크립트 코드를 제공할 수 있나요?
답변1
다음은 .뿐만 아니라 모든 명령에 적용됩니다 ffmpeg
.
가장 간단한 경우
: &
wait -n "$!"
echo "Status was ${?}."
false &
wait -n "$!"
echo "Status was ${?}."
(exit 17;) &
wait -n "$!"
echo "Status was ${?}."
다중 병렬 명령
declare -i i
declare -ai pids=()
for ((i = 10; i < 20; ++i)); do
(exit "$((i))";) &
pids+=("$!")
done
for i in "${!pids[@]}"; do
wait -n "${pids[i]}"
echo "Status of command Nr. ${i}, PID ${pids[i]}, was ${?}."
done
관로
false | true | (exit 11;) | true | (exit 7;) | false
declare -i pipestatus=("${PIPESTATUS[@]}")
for i in "${!pipestatus[@]}"; do
echo "Pipeline stage ${i} terminated with status ${pipestatus[i]}."
done