Re: [CentOS] Re: Any one have a good example...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Also...

running it from inittab will ensure that even if the process crashes it will run again next time, unlike if you use a self created lockfile....

P.


Marko A. Jennings wrote:
On Tue, August 29, 2006 5:07 pm, Scott Silva wrote:
  
Johnny Hughes spake the following on 8/29/2006 1:02 PM:
    
On Tue, 2006-08-29 at 15:59 -0400, mike.redan@xxxxxxx wrote:
      
Maybe I am being dense here ... BUT ...

Doesn't the "echo $$" only happen AFTER the else process is finished
???

if you make the "else" process be the rsync script, then it will not
create $pidfile until after the rsync is done ... which does not help
you.

if you leave the else process as is and kick off the rsync after the
echo $$ then it is not the same PID that you wrote to the $pidfile and
you will start more than one rsync process ... as the PID that you
wrote
to $pidfile as the echo process ... that already finished ... or I am
mistaken?


The idea of it is to place that bit of code at or near the beginning of
your script, then have the rsync process start after the "echo $$".
That
will put the PID of your script into that file, the rsync process will
be started in the script, and the script would not end until the rsync
one does..so you are fairly safe that two instances of your script will
run at thte same time..

        
OK ... I see.

The rsync process is a second PID ... but the first PID is also still
open until after the script closes.
      
I tried the above, but was able to start multiple copies of the script.
So I will have to see what is not catching the runs.
The lockfile is there, but not stopping another execution of the script.

    

I use the lockfile utility.  Take a look at its man page, it is well
written.  Here is how I use it (Bourne shell):

# try to create the lock and check the outcome
lockfile -r 0 /var/run/myapp.lock 1>/dev/null 2>&1
status=$?

if [ ${status} -ne 0 ] ;then
        echo "Another instance already running. Aborting."
        exit 1
fi

# body of the script here

# remove the lock at the end of the script
rm -f /var/run/myapp.lock

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

  

--
This message has been scanned for viruses and
dangerous content by the Enhancion system scanner,
and is believed to be clean.
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux