Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Nov 2007 18:31:20 +0200
From:      "David Naylor" <blackdragon@highveldmail.co.za>
To:        freebsd-questions@freebsd.org
Subject:   sh script difficulties (running parallel functions)
Message-ID:  <b53f6f940711010931i7067aad0y8c0d2c76aeec3248@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I am having a hard time getting (very complex script for me) to work.  The
basic idea is that this script runs a bunch of tarkets, many of which are
time consuming but low on resources (such as downloading files).  Now if I
run the tarkets all at once (given some dependancy issues) it greatly speeds
up the process (about 5 time speed increase).  However I do not know how to
do this using sh...

Example

#!/bin/sh

worker1() {
  # Copy some files
}

worker2() {
  # Download some files
}

worker3() {
  # Do something else
}

..... # and so on

run_jobs() {
  worker1 &
  worker2 &
  worker3 &
  # !!! Somehow wait for over workers to finish before continuing !!!
}

#Finished

Furthermore, how can signals be handled such that the signals get
accumulated and once all the other workers have finished the signals get
passed on (appropriately)

Thank you.

David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b53f6f940711010931i7067aad0y8c0d2c76aeec3248>