This is backwards. If you do it this way, you will destroy a lock set by another process if you don't get the lock... You only want to set that trap after you acquire the lock.
This User Gave Thanks to Don Cragun For This Post:
Hi,
I have written below check lockfile script but need some tweaking on it.
If there is a lockfile from present, I need the script to retry every 10 seconds to see if the lockfile is still there. After 120 seconds it should send an email.
In my current version, if the script encounters... (6 Replies)
Just tried out the following code from "Using lockfiles in shell scripts":
#!/bin/bash
if ; then
echo "File exists"
else
echo "File does not exists. Create file now."
echo 1 > number.txt
fi
lockfile script.lock
a=$(/usr/bin/tail -n 1 number.txt)
if ; then... (1 Reply)
Hi all,
I have to test some user priviliges. The goal is to be sure that an unauthorized user can't restart some modules (ssh, mysql etc...).
I'm trying to automate it with a shell script but in same cases I got the syslog broadcast message.
Is there any way to simply get a return code... (3 Replies)
Hi,
I am new to this forum, could any one please help me to understand the LOCKFILE command with an example and what exactly it is used for and how it is used.
Thanks
Reshu289 (4 Replies)
Hello,
I have been working on using "flock"/file lock to prevent two instances of a bash script from being executed. Below is a simplified version of what I have to illustrate the flock part. It works as it is set up there below however the piece I am trying to figure out is how to get it to... (2 Replies)
I'm changing my mindset from a few big processes moving data from a few sources under an external, dependency-based scheduler to multiple processes moving data from many sources run by each client cron and possibly interfering with each other. It has the benefits of more granular code but I'm... (11 Replies)
Hi i have a script that check pings and i use flock to so the script wont run
multipul times :
its not the whole script but this is the idea :
(
flock -x -w 3 200 || exit 1
/usr/sbin/fping -c$count -i$interval -a $hosts > $FILE1 2>&1
) 200>/var/lock/.myscript.exclusivelock
now i... (4 Replies)
Discussion started by: batchenr
4 Replies
LEARN ABOUT REDHAT
ipc::semaphore
IPC::Semaphore(3pm) Perl Programmers Reference Guide IPC::Semaphore(3pm)NAME
IPC::Semaphore - SysV Semaphore IPC object class
SYNOPSIS
use IPC::SysV qw(IPC_PRIVATE S_IRWXU IPC_CREAT);
use IPC::Semaphore;
$sem = new IPC::Semaphore(IPC_PRIVATE, 10, S_IRWXU | IPC_CREAT);
$sem->setall( (0) x 10);
@sem = $sem->getall;
$ncnt = $sem->getncnt;
$zcnt = $sem->getzcnt;
$ds = $sem->stat;
$sem->remove;
DESCRIPTION
A class providing an object based interface to SysV IPC semaphores.
METHODS
new ( KEY , NSEMS , FLAGS )
Create a new semaphore set associated with "KEY". "NSEMS" is the number of semaphores in the set. A new set is created if
o "KEY" is equal to "IPC_PRIVATE"
o "KEY" does not already have a semaphore identifier associated with it, and "FLAGS & IPC_CREAT" is true.
On creation of a new semaphore set "FLAGS" is used to set the permissions.
getall
Returns the values of the semaphore set as an array.
getncnt ( SEM )
Returns the number of processes waiting for the semaphore "SEM" to become greater than its current value
getpid ( SEM )
Returns the process id of the last process that performed an operation on the semaphore "SEM".
getval ( SEM )
Returns the current value of the semaphore "SEM".
getzcnt ( SEM )
Returns the number of processes waiting for the semaphore "SEM" to become zero.
id Returns the system identifier for the semaphore set.
op ( OPLIST )
"OPLIST" is a list of operations to pass to "semop". "OPLIST" is a concatenation of smaller lists, each which has three values. The
first is the semaphore number, the second is the operation and the last is a flags value. See semop for more details. For example
$sem->op(
0, -1, IPC_NOWAIT,
1, 1, IPC_NOWAIT
);
remove
Remove and destroy the semaphore set from the system.
set ( STAT )
set ( NAME => VALUE [, NAME => VALUE ...] )
"set" will set the following values of the "stat" structure associated with the semaphore set.
uid
gid
mode (only the permission bits)
"set" accepts either a stat object, as returned by the "stat" method, or a list of name-value pairs.
setall ( VALUES )
Sets all values in the semaphore set to those given on the "VALUES" list. "VALUES" must contain the correct number of values.
setval ( N , VALUE )
Set the "N"th value in the semaphore set to "VALUE"
stat
Returns an object of type "IPC::Semaphore::stat" which is a sub-class of "Class::Struct". It provides the following fields. For a
description of these fields see your system documentation.
uid
gid
cuid
cgid
mode
ctime
otime
nsems
SEE ALSO
IPC::SysV Class::Struct semget semctl semop
AUTHOR
Graham Barr <gbarr@pobox.com>
COPYRIGHT
Copyright (c) 1997 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.
perl v5.8.0 2002-06-01 IPC::Semaphore(3pm)