다음 프로세스가 시작되기 전에 처리를 완료해야 하는 여러 프로세스가 백그라운드에 설정되어 있습니다. 이렇게 설정했는데 동시에 2개의 프로그램을 시작해야 하는 단계가 있는데 그 중 하나만 완료하면 다음 단계가 실행됩니다. 다음 단계를 시작하기 전에 두 번째 프로그램을 완료할 필요는 없습니다.
프로그램 1 프로그램 2
프로그램 3
내가 필요한 것은 prog1이 완료되면 prog3이 시작되고 prog2는 계속 실행되는 것입니다. 가능합니까? 내가 시도한 모든 것은 prog3을 시작하기 전에 prog2가 처리를 마치기를 기다리는 것입니다.
답변1
prog2 & (prog1 ; prog3) &
답변2
prog1 &; pid1=$!; prog2 &; wait $pid1; prog3