2개의 명령을 병렬로 실행하되 다음 명령을 시작하기 전에 하나의 명령이 완료될 때까지 기다리십시오.

2개의 명령을 병렬로 실행하되 다음 명령을 시작하기 전에 하나의 명령이 완료될 때까지 기다리십시오.

다음 프로세스가 시작되기 전에 처리를 완료해야 하는 여러 프로세스가 백그라운드에 설정되어 있습니다. 이렇게 설정했는데 동시에 2개의 프로그램을 시작해야 하는 단계가 있는데 그 중 하나만 완료하면 다음 단계가 실행됩니다. 다음 단계를 시작하기 전에 두 번째 프로그램을 완료할 필요는 없습니다.

프로그램 1 프로그램 2

프로그램 3

내가 필요한 것은 prog1이 완료되면 prog3이 시작되고 prog2는 계속 실행되는 것입니다. 가능합니까? 내가 시도한 모든 것은 prog3을 시작하기 전에 prog2가 처리를 마치기를 기다리는 것입니다.

답변1

prog2 & (prog1 ; prog3) &

답변2

prog1 &; pid1=$!; prog2 &; wait $pid1; prog3

관련 정보