synchronizing concurrent shell scripts

Michael Brailsford brailsmt at
Mon Feb 12 13:04:16 MST 2007

bash-2.03$ sudo find /usr -name lockfile
bash-2.03$ uname -a
AIX <snip> 3 5 00C5227E4C00

Not so standard, methinks.  AIX 5.3L has no such command.

However, touch works well.  Something like this has always worked for me.

while [ -d /var/somelockfile ]; do sleep 1; done
touch /var/somelockfile
# do something
rm /var/somelockfile

----- Original Message ----
From: Bart Whiteley <bart.plug at>
To: Provo Linux Users Group Mailing List <plug at>
Sent: Monday, February 12, 2007 1:03:19 PM
Subject: Re: synchronizing concurrent shell scripts

On 2/12/07, Michael L Torrie <torriem at> wrote:
> On Mon, 2007-02-12 at 11:45 -0700, Michael L Torrie wrote:
> > I have a situation where shell scripts, executed asynchronously, need to
> > have a way to wait for each other when doing a load-intensive operation.
> > Do any of you have any methods for synchronizing the operation of
> > concurrent shell scripts?
> My bad.  Google reveals that there's a nice standard unix
> command: /usr/bin/lockfile
> man lockfile reveals this is just what I'm looking for.
lockfile... cool.  If you happen to be using bash, you can do the same thing
with a 'set -o noclobber' and avoid the overhead of forking an additional
process (lockfile).

PLUG:, #utah on
Don't fear the penguin.

More information about the PLUG mailing list