Best way to implement this is to use a lock file. When the process starts up, have it look for a lock file (which should be a unique file name). If the file exists, the process can just exit. Otherwise, the process can touch the file and proceed to do its job. Just before exiting the process will remove the file.
I am sorry, this is really trivial, yet I am not able to understand what the problem is!
I am using korn shell and running this script
#!/bin/ksh
keep=3
while ; do
echo $keep
keep=$(($keep-1))
done
I am getting this error: `keep=$' unexpected
I am not able to understand it because ... (1 Reply)
I am starting to code a few ideas of customization and tasks improvements on the office UNIX machine. My first script (see below) only contains ALIAS commands. But for some reason, when I execute it, the alias are not executed. I suspect it is because of the "#!/bin/ksh" not being recognized or... (4 Replies)
Hi All,
I am new to perl and have been trying to write a short script to check a process.Though i havent reached to the stage where i can match the output.
I am trying to pass a variable x with value /opt/RGw/csbp-base/CSBP_BAT.01.00.05/csbp_BAT.01.00.05.jar
and then pass another variable... (2 Replies)
Hi Experts,
Is there any command by which i can chk that the cron process is running fine? Say i have scheduled the cron to run at 10 o clock every monday,Do i need to wait for the time it runs and then chk using ps -ef?
Please shed some light.
Thanks
Ashok. (2 Replies)
Hi
Please can someone explain to me how they would go about monitoring the performance of a process in Unix. Lets say that a user is running a process in Unix but it seems to be taking a long time, whereas it completed a lot quicker yesterday. How would you go about investigating what is causing... (1 Reply)
Hi, i was looking for an answer for some trouble im having runing a script in the cron, thing is, that when i run it manually it works just fine. But when cron runs it, it just doenst work. I saw a reply on a similar subject, suggesting that the . .profile worked for you, but im kind of... (9 Replies)
Hi ,
I have removed a cron for particular user , but cron job seems to be running even after the cron entry is removed. The purpose of the cron was to sendmail to user ( it uses mailx utility )
I have restarted cron and sendmail service still user is getting mail alerts from the cron job. And... (4 Replies)
Experts,
Not sure whether the problem described here is related with Unix or is it with Oracle Installation. Here is the description of the issue:
A new Unix server is setup as a part of Unix and Oracle upgradation activity for one of the Application, I work on.
One strange thing is... (2 Replies)
Suppose i have 3 different servers say x,y and z.
Im running some process say ABC and 40 instances for the same is being created.
In load sharing suppose on
server x, 20 instances are running
server y, 10 instances are running
server z, 10 instances are running.
While checking the... (1 Reply)
Discussion started by: ankitknit
1 Replies
LEARN ABOUT LINUX
mail-unlock
lockfile-progs(1) Lockfile programs lockfile-progs(1)NAME
lockfile-progs - command-line programs to safely lock and unlock files and mailboxes (via liblockfile).
SYNOPSIS
mail-lock [--use-pid] [--retry retry-count]
mail-unlock
mail-touchlock [--oneshot]
lockfile-create [--use-pid] [--retry retry-count] [--lock-name] filename
lockfile-remove [--lock-name] filename
lockfile-touch [--oneshot] [--lock-name] filename
lockfile-check [--use-pid] [--lock-name] filename
DESCRIPTION
Lockfile-progs provides a set a programs that can be used to lock and unlock mailboxes and files safely (via liblockfile):
mail-lock - lock the current user's mailbox
mail-unlock - unlock the current user's mailbox
mail-touchlock - touch the lock on the current user's mailbox
lockfile-create - lock a given file
lockfile-remove - remove the lock on a given file
lockfile-touch - touch the lock on a given file
lockfile-check - check the lock on a given file
By default, the filename argument refers to the name of the file to be locked, and the name of the lockfile will be filename .lock. How-
ever, if the --lock-name argument is specified, then filename will be taken as the name of the lockfile itself.
Each of the mail locking commands attempts to lock /var/spool/mail/<user>, where <user> is the name associated with the effective user ID,
as determined by via geteuid(2).
Once a file is locked, the lock must be touched at least once every five minutes or the lock will be considered stale, and subsequent lock
attempts will succeed. Also see the --use-pid option and the lockfile_create(3) manpage.
The lockfile-check command tests whether or not a valid lock already exists.
OPTIONS -q, --quiet
Suppress any output. Success or failure will only be indicated by the exit status.
-v, --verbose
Enable diagnostic output.
-l, --lock-name
Do not append .lock to the filename. This option applies to lockfile-create, lockfile-remove, lockfile-touch, or lockfile-check.
-p, --use-pid
Write the current process id (PID) to the lockfile whenever a lockfile is created, and use that pid when checking a lock's validity.
See the lockfile_create(3) manpage for more information. This option applies to lockfile-create, lockfile-remove, lockfile-touch, and
lockfile-check.
-o, --oneshot
Touch the lock and exit immediately. This option applies to lockfile-touch and mail-touchlock. When not provided, these commands will
run forever, touching the lock once every minute until killed.
-r retry-count, --retry retry-count
Try to lock filename retry-count times before giving up. Each attempt will be delayed a bit longer than the last (in 5 second incre-
ments) until reaching a maximum delay of one minute between retries. If retry-count is unspecified, the default is 9 which will give
up after 180 seconds (3 minutes) if all 9 lock attempts fail.
EXAMPLES
Locking a file during a lengthy process:
lockfile-create /some/file
lockfile-touch /some/file &
# Save the PID of the lockfile-touch process
BADGER="$!"
do-something-important-with /some/file
kill "${BADGER}"
lockfile-remove /some/file
EXIT STATUS
0
For lockfile-check this indicates that a valid lock exists, otherwise it just indicates successful program execution.
Not 0
For lockfile-check a non-zero exit status indicates that the specified lock does not exist or is not valid. For other programs it
indicates that some problem was encountered.
SEE ALSO maillock(3)touchlock(3)mailunlock(3)lockfile_create(3)lockfile_remove(3)lockfile_touch(3)lockfile_check(3)AUTHOR
Written by Rob Browning <rlb@defaultvalue.org>
0.1.12 2008-02-10 lockfile-progs(1)