백그라운드에서 실행 중인 스크립트의 STDERR 및 STDOUT을 캡처하고 싶습니다.

백그라운드에서 실행 중인 스크립트의 STDERR 및 STDOUT을 캡처하고 싶습니다.

백그라운드에서 스크립트를 실행해야 하고 STDERR 및 STDOUT도 캡처해야 합니다. 아래 줄을 사용하고 있습니다.

test.sh & >> log_file 2>&1

하지만 불행하게도 log_file에는 아무것도 기록되지 않습니다.

여기서 도와주세요

답변1

배경 문자의 위치에 주의하세요 &.

test.sh >> log_file 2>&1 &

답변2

이게 효과가 있어

( echo stdout; echo >&2 stderr )& >> log 2>&1;
sleep 0.1; echo LOG:; cat log

그리고 stdout과 stderr이 모두 로그에 도착함을 보여줍니다.

잘못은 당신의 것이 틀림없습니다 test.sh.

관련 정보