Either this or you create a semaphore file: consider the following script stub:
This makes sure the script runs only one instance at a time.
I hope this helps.
bakunin
Not quite. There is a race condition between the time the existence test ([ -e "$fSemaphore" ]) is executed and the time the semaphore file is created (touch "$fSemaphore") that can allow two or more copies of this code to run simultaneously and not realize that another invocation is running.
This can be worked around with the shell's do not clobber option:
Note that both of these run a risk of leaving the semaphore file in place if the script is terminated by a kill signal (for the code above) or by any signal (for the code bakunin suggested). If this happens, the semaphore file will have to be manually removed before the script will run again successfully.
I am in need of some help; think I have confused myself.
Here is the issue I am faced with.
The script log file was fine, the nohup.out file has tens of thousands of lines like illegal use of sleep: sleep seconds
So I assume there is something with the seconds calculation in the script... (1 Reply)
Hi All I have a requiremnt to run a script inside another script.
here i am pulling the record count from the table in oracle.If record count is greater than 0 the script is executed.The scripts updates the count in the table and again the count is found out and the condition is checked and same... (3 Replies)
Hi Forum
Im using sleep in a while loop goes around 10 times. i feed it a variable with the time i what it to sleep for eg sleep $sleepVal and then print system date and time to screen but sometimes 1 second is added to the time why is this
here my code
sleepVal=5
while
do
... (3 Replies)
Hi All,
i am very new to shall script . i am not that much aware of sleep command ,
i want to terminate the sleep command after certain time.
following is my code.
while
loop
sleep 1800
messag=/status.sql
donethe script will be on sleep untill the messag be comes P. here my requirement... (4 Replies)
Hello,
Need a little help with the script below. I can't get it to sleep :( I'm trying to get this to check if the process is running and if it is, wait 10 secs and check again. Keep doing this until it's not running and then stop checking and send the email.
#!/bin/ksh
mailto=`cat... (2 Replies)
Hi Frnz,
I need to execute sleep command but i dont know the definite time.
Let me put my req:
I am running one shell script and this script creates some lock file in temp dir ...now in my script i want one function to go into sleep mode till this lock file exists..one lock file gone that... (6 Replies)
I need help in script.
I want my one script execute every time at 6:30 am and i have no cron access.
So i am putting sleep command there , Script may took half an hour 35 min , it depend upon queries how much it take time, but that is not issue,
So i want according to stop time of... (15 Replies)
Discussion started by: pallvi_mahajan
15 Replies
LEARN ABOUT HPUX
sem_wait
sem_wait(2) System Calls Manual sem_wait(2)NAME
sem_wait, sem_trywait - lock a POSIX semaphore
SYNOPSIS DESCRIPTION
is used to lock a semaphore. The calling thread will not return from its call to until one of the following events occur: it successfully
obtains a lock on the semaphore; it is interrupted by a signal or an error condition occurs.
is used to lock a semaphore, if it is available. The value of the semaphore sem is checked at some unspecified time during the call. If
the semaphore is available at the time its value is checked, the calling thread will atomically, with respect to the checking of the value,
lock the semaphore. The thread will now own a lock on the semaphore; the call will return successfully. If the semaphore is unavailable
at the time its value is checked, then the call returns -1 with errno set to EAGAIN.
If the specified semaphore referred to by sem is a named semaphore, then this semaphore must have been opened by the calling process with
The calling process must have both read and write permissions on the semaphore to perform these operations. The semaphore will be locked
upon successful return and will stay locked until it is explicitly released by a call to
To use this function, link in the realtime library by specifying on the compiler or linker command line.
EXAMPLES
The following call to will lock the semaphore sem.
The following call to will lock the semaphore sem, if it is available.
RETURN VALUE
A successful call to will return 0 and the calling thread will then own a lock on the semaphore. Otherwise, the call to will return -1
with errno set to the appropriate value of the error condition.
A successful call to will return 0, if the semaphore was available and the calling thread was able to lock the semaphore. Otherwise, the
call to will return -1 with errno set to the appropriate value of the error condition.
ERRORS
and fail and do not perform the requested operation if any of the following conditions are encountered:
[EPERM] The calling process does not have the privileges necessary to lock the semaphore.
[EAGAIN] The semaphore was not available and hence could not be locked by This error condition only occurs in
[EINVAL] The argument sem does not refer to a valid semaphore.
[EINTR] The function was interrupted by a signal
SEE ALSO sem_post(2), <semaphore.h>.
STANDARDS CONFORMANCE sem_wait(2)