Spawing multiple display processes from one shell.

Question: Suppose I want to, from the terminal, use a shell script that would do the display image.jpg command to load multiple images from a directory all at the same time. One terminal, and for example 10 image files. Basically I want to execute 10 different commands simultaniously all from the same shell and open ten different windows with the images in them.

How would this be done?

I have a basic idea with for loops, number sequences, and background processes. But is there an easy way that's pretty much universal on any unix platform?

for file in `ls -1 *.jpg`; do display $file; done

does a nice job of displaying the images in alphabetic order one by one. but I want to load em all up all at the same time from one shell.

basically what i mean is something like this in terms of command execution

command excuted loads:
|____process-- a-|
|process-- b-| * all same time
|____process-- c-|
|____process-- d-|

  • all same time: split second differences don't matter really but basically the terminal is just doing a bunch of stuff all together.

To display all of the ... *ahem* pictures... in a directory at the same time, you can try something like:

#! /bin/ksh
for each in *.jpg; do
  /usr/bin/ee $each &
done

Substitute your file viewer for /usr/bin/ee...
The trick would be to put each one in the background... As soon as one starts, it goes into the background, and the next begins opening - although this wouldn't be simultaneous, it might work for your needs.

Hey, cool. It works. It's kinda a heavy load but it's effective. Thanks.

wow! I used that command to play multiple wav files all at the same time through esd.

The result was scary!

for file in `slocate .wav`; do esdplay $file & done

uh huh huh huh huh huh