Sponsored Content
Full Discussion: locking mechanism
Top Forums Shell Programming and Scripting locking mechanism Post 302239251 by jim mcnamara on Tuesday 23rd of September 2008 07:33:08 AM
Old 09-23-2008
Code:
#!/bin/ksh

lockit()
{
     [[ -w /tmp/lockfile ]] ||  > /tmp/lockfile
     let count=0
     echo 'checking lock...'
     while [[ -s /tmp/lockfile ]]
     do
           sleep 30           
           count=#(( count  + 1 ))
           if [[ count -eq 10 ]] ; then
                  echo 'cannot obtain lock'
                  exit 1
           fi
     done
      echo "$$" > /tmp/lockfile
     echo 'got lock'
}

unlock()
{
      > /tmp/lockfile

}
# main --------------------------
lockit

trap '> /tmp/lockfile; kill -9 $$ ' EXIT  HUP  INT

.  /path/to/myscript.sh
STATUS=$?

unlock
trap ' ' EXIT
exit $STATUS

Put your scriptname inside this type of script. If your script has trap commands they may override the ones here. This is just meant as a simple starting point.
 

8 More Discussions You Might Find Interesting

1. Programming

Mechanism reqd for knowing TCP buffer occupancy level

Hi, The description and the context of the mechanism that i require is as follows: There is an application communicating with a protocol stack binary. There is a TCP socket communication between the two. Now, the stack is pumping up data to the Application such that the receiving buffer of... (2 Replies)
Discussion started by: saptarshi
2 Replies

2. UNIX for Dummies Questions & Answers

A mechanism like "batch file of windows" in Unix

Hi all, Like in windows OS we have in unix something called "jobs"-term me if i am wrong- to run a sequence of steps which we can exceute at our own will without scheduling like corntab scheduling. can any one tell me what is the structure of this file and provide me with some info with this... (5 Replies)
Discussion started by: aixjadoo
5 Replies

3. AIX

mechanism of AIX ?

Hi all, on aix,whether have udev or devfs mechanism? thanks! (4 Replies)
Discussion started by: anonys
4 Replies

4. Solaris

Best possible communication mechanism between a Solaris machine and a windows machine

hi, I have some windows client machines which require a signal to be sent by a Solaris machine( SunOS 5.6) when ever a particular event occurs on that Solaris machine. What are possible communication mechanisms by which i can do this. the constraints are > the windows machines have to... (7 Replies)
Discussion started by: Krsh
7 Replies

5. Programming

Open source my OIOIC, a completely new object-oriented mechanism for the C.

OIOIC is a completely new object-oriented mechanism for the C programming language. Please download the "OIOIC-Primer-2nd-Edition-English.tar.gz". (the English version of << OIOIC Primer >> ) http://code.google.com/p/oioic/downloads/list Welcome your advice! Using OIOIC, you can describe... (7 Replies)
Discussion started by: pervise.zhao
7 Replies

6. Shell Programming and Scripting

"Need progress mechanism for copy process"

Hello Folks, I got an issue to be solved. I need to show the user a progress bar while executing an process using shell script Example: While updating firmware lets assume this will take 2 min to upgrade i need the shell script to show the progress bar as (0%) and at the end it should... (13 Replies)
Discussion started by: phanivarma
13 Replies

7. Shell Programming and Scripting

An alternative to IPC mechanism

What if the operating systems would not use any ipc mechanism in order to exchange the datas with each other,which technique could be an alternative for messaging between the processes?Do you guys think using the vfork () system call to duplicate processes is a logical solution for this problem? (4 Replies)
Discussion started by: helltrex
4 Replies

8. Programming

Best IPC mechanism to be used

Suppose I have 5 independent process divided in two imaginay sets: set1 set2 --------------------- p1 p3 | | p2 p4 | p5 The processes inside each set communicate mutually quite often. I mean p1 and p2 communicate mutually quite often Similarly p3, p4 and p5 communicate mutually... (2 Replies)
Discussion started by: rupeshkp728
2 Replies
lockfile-progs(1)						 Lockfile programs						 lockfile-progs(1)

NAME
lockfile-progs - command-line programs to safely lock and unlock files and mailboxes (via liblockfile). SYNOPSIS
mail-lock [--use-pid] [--retry retry-count] mail-unlock mail-touchlock [--oneshot] lockfile-create [--use-pid] [--retry retry-count] [--lock-name] filename lockfile-remove [--lock-name] filename lockfile-touch [--oneshot] [--lock-name] filename lockfile-check [--use-pid] [--lock-name] filename DESCRIPTION
Lockfile-progs provides a set a programs that can be used to lock and unlock mailboxes and files safely (via liblockfile): mail-lock - lock the current user's mailbox mail-unlock - unlock the current user's mailbox mail-touchlock - touch the lock on the current user's mailbox lockfile-create - lock a given file lockfile-remove - remove the lock on a given file lockfile-touch - touch the lock on a given file lockfile-check - check the lock on a given file By default, the filename argument refers to the name of the file to be locked, and the name of the lockfile will be filename .lock. How- ever, if the --lock-name argument is specified, then filename will be taken as the name of the lockfile itself. Each of the mail locking commands attempts to lock /var/spool/mail/<user>, where <user> is the name associated with the effective user ID, as determined by via geteuid(2). Once a file is locked, the lock must be touched at least once every five minutes or the lock will be considered stale, and subsequent lock attempts will succeed. Also see the --use-pid option and the lockfile_create(3) manpage. The lockfile-check command tests whether or not a valid lock already exists. OPTIONS
-q, --quiet Suppress any output. Success or failure will only be indicated by the exit status. -v, --verbose Enable diagnostic output. -l, --lock-name Do not append .lock to the filename. This option applies to lockfile-create, lockfile-remove, lockfile-touch, or lockfile-check. -p, --use-pid Write the current process id (PID) to the lockfile whenever a lockfile is created, and use that pid when checking a lock's validity. See the lockfile_create(3) manpage for more information. This option applies to lockfile-create, lockfile-remove, lockfile-touch, and lockfile-check. -o, --oneshot Touch the lock and exit immediately. This option applies to lockfile-touch and mail-touchlock. When not provided, these commands will run forever, touching the lock once every minute until killed. -r retry-count, --retry retry-count Try to lock filename retry-count times before giving up. Each attempt will be delayed a bit longer than the last (in 5 second incre- ments) until reaching a maximum delay of one minute between retries. If retry-count is unspecified, the default is 9 which will give up after 180 seconds (3 minutes) if all 9 lock attempts fail. EXAMPLES
Locking a file during a lengthy process: lockfile-create /some/file lockfile-touch /some/file & # Save the PID of the lockfile-touch process BADGER="$!" do-something-important-with /some/file kill "${BADGER}" lockfile-remove /some/file EXIT STATUS
0 For lockfile-check this indicates that a valid lock exists, otherwise it just indicates successful program execution. Not 0 For lockfile-check a non-zero exit status indicates that the specified lock does not exist or is not valid. For other programs it indicates that some problem was encountered. SEE ALSO
maillock(3) touchlock(3) mailunlock(3) lockfile_create(3) lockfile_remove(3) lockfile_touch(3) lockfile_check(3) AUTHOR
Written by Rob Browning <rlb@defaultvalue.org> 0.1.12 2008-02-10 lockfile-progs(1)
All times are GMT -4. The time now is 03:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy