program subprocess_test use sia_subprocess use sia_time, only: nanosleep type(subprocess) :: p(3) logical :: go call p(1)%start("/bin/sleep 2 ; /usr/bin/seq 1 20|perl -ne 'chomp; print'") call p(2)%start("/bin/false") call p(3)%start("/bin/sleep 10") go=.true. do while(go) go=.false. do i=1,3 call p(i)%check() go = go .or. p(i)%state==IS_RUNNING .or. p(i)%state==IS_ERROR 18 format('Process #',I0,' state = ',I0,' statearg=',I0,' id=',I0) print 18,i,p(i)%state,p(i)%statearg,p(i)%procid enddo call nanosleep(1.0_8) end do end program subprocess_test