Shell에서 두 개의 병렬 스크립트를 실행하지만 "중간" 스크립트가 종료될 때까지 기다리는 방법

Shell에서 두 개의 병렬 스크립트를 실행하지만 "중간" 스크립트가 종료될 때까지 기다리는 방법

나는 원해요:

  1. 종료되지 않는 스크립트를 실행하면 파일이 생성됩니다.
  2. 파일을 모니터링하는 스크립트를 실행한 다음 종료합니다.
  3. 종료되지 않는 최종 스크립트를 실행합니다(첫 번째 스크립트의 출력에 따라 다름).

나는 다음 답변을 보았습니다.명령을 병렬로 실행하고 다음 명령 세트를 시작하기 전에 한 명령 세트가 완료될 때까지 기다립니다.하지만 첫 번째 스크립트가 종료되지 않기 때문에 내 요구 사항이 다르다고 생각합니다.

# This runs continuously
nps $DEV_SCRIPT &

# How can I not run the final parallel script until this exits?
node ./scripts/waitForAssetManifest.js &
wait

# This also runs continuously
node-dev build/lib/index.js

답변1

당신은 그것을 사용할 수 있습니다$!작업이 백그라운드로 들어가자마자 해당 작업의 PID를 가져오고 해당 프로세스를 구체적으로 기다립니다.

# This runs continuously
nps $DEV_SCRIPT &

# How can I not run the final parallel script until this exits?
node ./scripts/waitForAssetManifest.js &
wait $!

# This also runs continuously
node-dev build/lib/index.js

이 특정한 경우에는 백그라운드에서 두 번째 명령을 실행하지 않는 것이 좋습니다.

# This runs continuously
nps $DEV_SCRIPT &

# How can I not run the final parallel script until this exits?
node ./scripts/waitForAssetManifest.js

# This also runs continuously
node-dev build/lib/index.js

관련 정보