[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