Another fairly robust solution is to create a lock file:
Code:
#!/bin/ksh
# check for existence of a lock file
# if the file exists make sure the pid that
# created it is still running then exit.
if [ -e /tmp/myshellscript.lock ]; then
pid=`cat /tmp/myshellscript.lock`
ps -p "$pid" >/dev/null 2&>1
# somebody else is running the script ?
if [ $? -eq 0]; then
echo "another processi is running - try again later"
exit 1
fi
# put the current process as owner of the lock
echo "$$" > /tmp/myshellscript.lock
else
# no file found - make one, own the lock,too.
echo "$$" > /tmp/myshellscript.lock
chmod 777 /tmp/myshellscript.lock
fi
...
.....
# last lines of script - release lock file
rm -f /tmp/myshellscript.lock
exit 0
Hello,
I'm trying to write a script that checks for previous instances of the same script which may still be running (this script is scheduled to run every 30 minutes). I want to somehow use the pid from each instance to make sure the previous one isn't running before continuing with my... (5 Replies)
Hello, I have some 150 Cron Jobs running under my UNIX account. I want to add some more jobs. Is there a limit to the number of cron jobs that can be run on an account?
Thank you.
Pramodini (8 Replies)
I currently use LaTeX together with a sed script to set cloze test papers for my students. I currently pepend and equals sign to the front of the words I want to leave out in the finished test, =perpendicular, for example. I am able to number the blanks using a variable in LaTeX. I would like to... (8 Replies)
Hi Guys,
Need you help in one point!
I am working on one shell script which takes following steps :
1. Taking one query result from oracle database
2. Exporting that result to Xls file
3. Mailing that file to my own mail ID
Now, I want to give a threshold limit to one of the column... (0 Replies)
Hello to all @here,
as Iīm new to this forum, I will try to start in a easy way for my first post. Iīm not beginner in scripting, but also not a proffessional. So please keep easy, if I donīt understand your explanation at once ;) I donīt mean it in a bad way!
Here is the Problem:
There were... (2 Replies)
I want to run my shell script to the limit number.Suppose I know in advance that MAX=5 then I want that my script run 5 times only.Something like below$ vi testingMAX=5COMMAND="ssh -l stpuser VHLDVWSAD001 /projects/st/utils/deploy/deployall.sh >/dev/null 2>&1 &" ; sleep 20;count=0while... (2 Replies)
I'm likely going to explain this clumsily, so apologies in advance:
I have the following script:
#!/bin/bash
pidPrefix="logGen"
checkPrime ()
{
if /sbin/ifconfig eth0:0|/bin/grep -wq inet;then isPrime=1;else isPrime=0;fi
}
killScript ()
{
/usr/bin/find /var/run -name... (4 Replies)
Input
A.1 Q.1
A.1 Q.2
A.1 Q.3
A.2 Q.4
Explanation:
Final Output
A.1 Q.1 s1 t1
A.1 Q.2 s1 t2
A.1 Q.3 s1 t3
A.2 Q.4 s5 t5
---------- Post updated 09-28-12 at 03:38 AM ---------- Previous update was 09-27-12 at 09:10 AM ----------
Hi Guys, I was able to do until... (11 Replies)
I'm trying to create a minimal, crude keylogger for X using only a shell script. I was quickly stumped: Why do these two commands entered in a terminal emulator produce output when I type...
$ xinput test 6 | grep press
$ xinput test 6 | awk '{print $3}'
...but this command produces no... (13 Replies)
Discussion started by: DevuanFan
13 Replies
LEARN ABOUT CENTOS
shlock
SHLOCK(1) General Commands Manual SHLOCK(1)NAME
shlock - create lock files for use in shell scripts
SYNOPSIS
shlock -p pid -f name [ -b ] [ -u ] [ -c ]
DESCRIPTION
Shlock tries to create a lock file named name and write the process ID pid into it. If the file already exists, shlock will read the
process ID from the file and test to see if the process is currently running. If the process exists, then the file will not be created.
Shlock exits with a zero status if it was able to create the lock file, or non-zero if the file refers to currently-active process.
OPTIONS -b Process IDs are normally read and written in ASCII. If the ``-b'' flag is used, then they will be written as a binary int. For
compatibility with other systems, the ``-u'' flag is accepted as a synonym for ``-b'' since binary locks are used by many UUCP pack-
ages.
-c If the ``-c'' flag is used, then shlock will not create a lock file, but will instead use the file to see if the lock is held by
another program. If the lock is valid, the program will exit with a non-zero status; if the lock is not valid (i.e., invoking
shlock without the flag would have succeeded), then the program will exit with a zero status.
EXAMPLES
The following example shows how shlock would be used within a shell script:
LOCK=/var/run/innd/LOCK.send
trap 'rm -f ${LOCK} ; exit 1' 1 2 3 15
if shlock -p $$ -f ${LOCK} ; then
# Do appropriate work
else
echo Locked by `cat ${LOCK}`
fi
HISTORY
Written by Rich $alz <rsalz@uunet.uu.net> after a description of HDB UUCP locking given by Peter Honeyman. This is revision 1.9, dated
1996/10/29.
SHLOCK(1)