09-29-2016
Hmm. The idea of flock is to wrap a single (usually) command within the duration of the lock. If the command fails midway, then the caller still calls unlock.
A six hundred line script is doing an awful lot of stuff for the duration of the lock - just a point. There must be a large number of possible points of failure - what happens on a busy system? For your structure to work, you want there to be a single thread of active execution. And you are using the lock as a traffic signal.
So is your lock request at a suitably granular level? I do not know. I'm guessing no.
But you do have to unlock no matter. You probably need a simple master gate minding script to take care of minding the lock, and calling your 600 line beastie.
This User Gave Thanks to jim mcnamara For This Post:
7 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i want to search in the current directory all the files that contain one word for example "hello"
i want to achieve it with the grep command but not with the grep * (2 Replies)
Discussion started by: aintour
2 Replies
2. Shell Programming and Scripting
Hi everyone,
when executing this command in unix:
echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error.
here is content of my script:
tdbsrvr$ vi hc.sh
"hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies
3. Shell Programming and Scripting
I am working with a sh script on a solaris 9 zone (sol 10 host) that grabs information to build the configuration command line. the variables Build64, SSLopt, CONFIGopt, and CC are populated in the script. the script includes
CC=`which gcc`
CONFIGopt=' --prefix=/ --exec-prefix=/usr... (8 Replies)
Discussion started by: oly_r
8 Replies
4. UNIX for Advanced & Expert Users
Hi,
I have a process which can run one instance at a time. Currently we have multiple scripts trying to kickoff this process. I wanted to implement the semaphore mechanism to achieve this.
I was going through few examples. The below code seems to be reasonable solution.
... (5 Replies)
Discussion started by: tostay2003
5 Replies
5. Shell Programming and Scripting
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)
Discussion started by: infrared013
2 Replies
6. Shell Programming and Scripting
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
7. Shell Programming and Scripting
Hello i am having an issue with bash script and this is the code
now=$(cat hosts1.txt | awk '{print $2;}')
while read n ;do
ssh root@$now 'useradd test1; echo -e "test1\ntest1" | passwd test1 && echo "test1 ALL=(ALL:ALL) ALL" >> /etc/sudoers'
When i execute only part with cat, it... (8 Replies)
Discussion started by: tomislav91
8 Replies
LEARN ABOUT DEBIAN
vop_lock
VOP_LOCK(9) BSD Kernel Developer's Manual VOP_LOCK(9)
NAME
VOP_LOCK, VOP_UNLOCK, VOP_ISLOCKED, vn_lock -- serialize access to a vnode
SYNOPSIS
#include <sys/param.h>
#include <sys/lock.h>
#include <sys/vnode.h>
int
VOP_LOCK(struct vnode *vp, int flags);
int
VOP_UNLOCK(struct vnode *vp, int flags);
int
VOP_ISLOCKED(struct vnode *vp);
int
vn_lock(struct vnode *vp, int flags);
DESCRIPTION
These calls are used to serialize access to the file system, such as to prevent two writes to the same file from happening at the same time.
The arguments are:
vp The vnode being locked or unlocked.
flags One of the lock request types:
LK_SHARED Shared lock.
LK_EXCLUSIVE Exclusive lock.
LK_UPGRADE Shared-to-exclusive upgrade.
LK_DOWNGRADE Exclusive-to-shared downgrade.
LK_RELEASE Release any type of lock.
LK_DRAIN Wait for all lock activity to end.
The lock type may be or'ed with these lock flags:
LK_NOWAIT Do not sleep to wait for lock.
LK_SLEEPFAIL Sleep, then return failure.
LK_CANRECURSE Allow recursive exclusive lock.
LK_NOWITNESS Instruct witness(4) to ignore this instance.
The lock type may be or'ed with these control flags:
LK_INTERLOCK Specify when the caller already has a simple lock (VOP_LOCK() will unlock the simple lock after getting the
lock).
LK_RETRY Retry until locked.
Kernel code should use vn_lock() to lock a vnode rather than calling VOP_LOCK() directly. vn_lock() also does not want a thread spec-
ified as argument but it assumes curthread to be used.
RETURN VALUES
Zero is returned on success, otherwise an error is returned.
SEE ALSO
vnode(9)
AUTHORS
This manual page was written by Doug Rabson.
BSD
February 25, 2008 BSD