How do you run multiple programs in parallel from a bash script?

Betamoo picture Betamoo · Jun 9, 2010 · Viewed 292.2k times · Source

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?

Answer

Ory Band picture Ory Band · Apr 5, 2011

How about:

prog1 & prog2 && fg

This will:

  1. Start prog1.
  2. Send it to background, but keep printing its output.
  3. Start prog2, and keep it in foreground, so you can close it with ctrl-c.
  4. When you close prog2, you'll return to prog1's foreground, so you can also close it with ctrl-c.