I am trying to write a .sh file that runs many programs simultaneously
I tried this
prog1 prog2
But that runs prog1 then waits until prog1 ends and then starts prog2...
So how can I run them in parallel?
#!/bin/bash for cmd in "$@"; do { echo "Process \"$cmd\" started"; $cmd & pid=$! PID_LIST+=" $pid"; } done trap "kill $PID_LIST" SIGINT echo "Parallel processes have started"; wait $PID_LIST echo echo "All processes have completed"; Save this script as parallel_commands and make it executable.
How about:
prog1 & prog2 && fg
This will:
prog1
.prog2
, and keep it in foreground, so you can close it with ctrl-c
.prog2
, you'll return to prog1
's foreground, so you can also close it with ctrl-c
.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