![2개의 명령을 병렬로 실행하되 다음 명령을 시작하기 전에 하나의 명령이 완료될 때까지 기다리십시오.](https://linux55.com/image/107733/2%EA%B0%9C%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EB%B3%91%EB%A0%AC%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EB%90%98%20%EB%8B%A4%EC%9D%8C%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0%20%EC%A0%84%EC%97%90%20%ED%95%98%EB%82%98%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%99%84%EB%A3%8C%EB%90%A0%20%EB%95%8C%EA%B9%8C%EC%A7%80%20%EA%B8%B0%EB%8B%A4%EB%A6%AC%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
다음 프로세스가 시작되기 전에 처리를 완료해야 하는 여러 프로세스가 백그라운드에 설정되어 있습니다. 이렇게 설정했는데 동시에 2개의 프로그램을 시작해야 하는 단계가 있는데 그 중 하나만 완료하면 다음 단계가 실행됩니다. 다음 단계를 시작하기 전에 두 번째 프로그램을 완료할 필요는 없습니다.
프로그램 1 프로그램 2
프로그램 3
내가 필요한 것은 prog1이 완료되면 prog3이 시작되고 prog2는 계속 실행되는 것입니다. 가능합니까? 내가 시도한 모든 것은 prog3을 시작하기 전에 prog2가 처리를 마치기를 기다리는 것입니다.
답변1
prog2 & (prog1 ; prog3) &
답변2
prog1 &; pid1=$!; prog2 &; wait $pid1; prog3