Sponsored Content
Top Forums Shell Programming and Scripting Use of flock command for whole script Post 302982467 by jim mcnamara on Thursday 29th of September 2016 09:06:44 AM
Old 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

can anyone help with shell script command about searching word with grep command?

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

Need help! command working ok when executed in command line, but fails when run inside a script!

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

SH script, variable built command fails, but works at command line

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

Semaphore - lockfile/flock

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

Help using Flock (file lock)

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

Flock preventing function to work

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

Execute ssh command with additional terminal command to any remote user not working script

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
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
All times are GMT -4. The time now is 03:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy