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

Peter Farrow peter at farrows.org
Tue Aug 29 21:41:15 UTC 2006


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 at bell.ca 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 at centos.org
> 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.
http://www.enhancion.net

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos/attachments/20060829/2bc756bf/attachment.html>


More information about the CentOS mailing list