27 lines
		
	
	
	
		
			373 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
	
		
			373 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#! /bin/bash
							 | 
						||
| 
								 | 
							
								NJOB=8
							 | 
						||
| 
								 | 
							
								i=0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								while [ $i -lt $NJOB ]
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
								    /bin/sh -c "sleep 4; exit 0" &
							 | 
						||
| 
								 | 
							
								    rv=$?
							 | 
						||
| 
								 | 
							
								    pid=$!
							 | 
						||
| 
								 | 
							
								    eval bg_pid_$i=$pid
							 | 
						||
| 
								 | 
							
								#    echo $$: Job $i: pid is $pid rv=$rv
							 | 
						||
| 
								 | 
							
								    i=$((i + 1))
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								i=0
							 | 
						||
| 
								 | 
							
								while [ $i -lt $NJOB ]
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
								    eval wpid=\$bg_pid_$i
							 | 
						||
| 
								 | 
							
								    echo Waiting for job $i #'('pid $wpid')'
							 | 
						||
| 
								 | 
							
								    wait $wpid
							 | 
						||
| 
								 | 
							
								    rv=$?
							 | 
						||
| 
								 | 
							
								    echo job $i returns $rv
							 | 
						||
| 
								 | 
							
								    i=$((i + 1))
							 | 
						||
| 
								 | 
							
								done
							 |