![백그라운드 작업이 완료되었는지 어떻게 알 수 있나요?](https://linux55.com/image/30184/%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%20%EC%9E%91%EC%97%85%EC%9D%B4%20%EC%99%84%EB%A3%8C%EB%90%98%EC%97%88%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
아래와 같이 다른 스크립트(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에서 실행 중인 모든 활성 작업을 확인하세요.