백그라운드 작업이 완료되었는지 어떻게 알 수 있나요?

백그라운드 작업이 완료되었는지 어떻게 알 수 있나요?

아래와 같이 다른 스크립트(do_manythings)를 통해 백그라운드에서 스크립트(do_something)를 호출하고 있습니다.

nohup do_something &

호출된 작업(do_something)이 완료되었음을 상위 스크립트(do_manythings)에서 어떻게 알 수 있나요?

답변1

백그라운드 작업을 시작하고 다른 작업을 수행한 다음 중지하고 백그라운드 작업이 완료될 때까지 기다리려면 다음을 수행할 수 있습니다.

안돼 do_something &
PID=$!
...더 많은 것들...
$pid를 기다리세요

또는 다음과 같이 작업이 종료되었는지 테스트할 수 있습니다.

안돼 do_something &
PID=$!
...더 많은 것들...
ps -p $pid > /dev/null
[ $? == 1 ] && echo "다 사라졌어요!"

답변2

데몬으로 사용하려면 start-stop-daemon참고자료에서 찾아볼 수도 있습니다./etc/init.d/do_something

답변3

당신은 그것을 확인할 수 있습니다

ps -ef | grep 'do_something

결과가 표시되면 스크립트가 아직 실행 중인 것입니다.

당신은 또한 실행할 수 있습니다

ps -ef | grep 'your_user_name'

귀하의 ID에서 실행 중인 모든 활성 작업을 확인하세요.

관련 정보