Hello I am working with a simulator that uses rcS scripts to boot, this is my script
cd /tests
./test1 &
./test2 &
./test3 &
./test4
exit
What I want is run all the test at the same time and that the exit command is executed only when all the previous test have finished. And not only when test 4 has finished, is this possible?. Thank you.
You can use wait:
./test1 &
./test2 &
./test3 &
./test4 &
wait
From the bash man page:
wait [n ...] Wait for each specified process and return its termination status. Each n may be a process ID or a job specification; if a job spec is given, all processes in that job's pipeline are waited for. If n is not given, all currently active child processes are waited for, and the return status is zero. If n specifies a non-existent process or job, the return status is 127. Otherwise, the return status is the exit status of the last process or job waited for.
xargs
can support parallel
So just like this:
seq 4|xargs -i -n 1 -P 4 ./test{}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With