01-20-2006
I guess we can't simply touch a file, it should hold the pid of the process and check for that pid and whether it is same process or not.
#!/usr/bin/ksh
lockfile="/application/data/${pname}.lck"
pname="scripname"
if [ -f $lockfile ]
then
ps_cnt = $( ps -ef | grep $pname | fgrep -cf $lockfile )
fi
if [ ! -f $lockfile ] || (( $ps_cnt < 1 ))
then
echo "process not running, restarting it...."
nohup $lockfile &
sleep 5;
ptree $$ | grep $pname | sed 's/^[ ]*\([0-9]*\) .*$/\1/g' > /application/data/${pname}.lck
fi
fi
not tested...
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi guys I'm very new to unix and I have to create an awk script that detects webpage addresses from a file/webpage and outputs how many times each webpage was detected.e.g. if my file was:
(Note: The symbol " was added to stop them being created into links)
"www.google.com"... (1 Reply)
Discussion started by: ROFL
1 Replies
2. Shell Programming and Scripting
Hi guys I'm very new to unix and I have to create an awk script that detects webpage addresses from a file/webpage and outputs how many times each webpage was detected.e.g. if my file was:
www.google.com
www.facebook.com
www.google.com
the output should be:
www.google.com x2... (2 Replies)
Discussion started by: ROFL
2 Replies
3. Shell Programming and Scripting
Dear community,
what I'm try to do is deny users to run a script without parameters from command bash, but the same script should run without parameters only from crontab.
Example runs by crontab:*/5 * * * * /tmp/script.sh
Here the normal execution starts every 5 minutes
Example #1 runs by... (16 Replies)
Discussion started by: Lord Spectre
16 Replies
4. Shell Programming and Scripting
I wish to print my current shell which happens to be bash in my script check.sh
more check.sh
echo $0
echo `ps -p $$`
But instead of printing it prints check.sh i.e the name of the script for both the commands.
Can you please suggest how to print the current shell i m on inside the... (2 Replies)
Discussion started by: mohtashims
2 Replies
5. Shell Programming and Scripting
Hi all,
I am needing some help with a script that will search for a video file by known extensions and then do a pattern search (I'm guessing via regex) and then based on a match of one type of another move the file to an assigned directory.
I would like to do this with either a shell script... (7 Replies)
Discussion started by: Simplify
7 Replies
6. Shell Programming and Scripting
Hello,
I am running a python file from terminal and I wish to see which code is running at background. When I use htop, I see just a few commands, unable to see entire command.
htop > report
nano report
Output:
^
Following parts of ffmpeg line is not shown by htop. Just showing... (7 Replies)
Discussion started by: baris35
7 Replies
7. UNIX for Advanced & Expert Users
Hi forum,
So I am trying to determine the OS type with the following script:
#!/usr/bin/sh
OStype1=`uname -s`
Sunos1=SunOs
if
then
echo "This system is Linux"
exit 0
elif
then
echo "This system is SunOs"
exit 0
elif (1 Reply)
Discussion started by: dampio
1 Replies
8. UNIX for Beginners Questions & Answers
Hello there,
I am not an expert in networking related stuff but I got a requirement to create UNIX script to query our Company's internal time source via NTP for time drift detect and report it when > +/- 50ms.
I have been googling a lot but thought to post it in this forum to get a... (1 Reply)
Discussion started by: Green_Star
1 Replies
9. HP-UX
Hello there,
I am not an expert in networking related stuff but I got a requirement to create UNIX script to query our Company's internal time source via NTP for time drift detect and report it when > +/- 50ms.
I have been googling a lot but thought to post it in this forum to get a... (17 Replies)
Discussion started by: Green_Star
17 Replies
10. Shell Programming and Scripting
Hello,
I have a small script and it runs from web application in below format:
pipe:///path_to_myscript.sh url1 url2 url3
myscript.sh:
#!/bin/bash
count=0
while
do
count=$((count+1))
exec 3>&1
((ffmpeg -i $1 ...... -f mpegts pipe:1 2>/dev/null 1>&3 ) 2>&1 | \
while read LINE; do echo... (9 Replies)
Discussion started by: baris35
9 Replies
LEARN ABOUT OPENSOLARIS
maillock
maillock(3MAIL) User Mailbox Library Functions maillock(3MAIL)
NAME
maillock, mailunlock, touchlock - functions to manage lockfile(s) for user's mailbox
SYNOPSIS
cc [ flag ... ] file ... -lmail [ library ... ]
#include <maillock.h>
int maillock(const char *user, int retrycnt);
void mailunlock(void);
void touchlock(void);
DESCRIPTION
The maillock() function attempts to create a lockfile for the user's mailfile. If a lockfile already exists, and it has not been modified
in the last 5 minutes, maillock() will remove the lockfile and set its own lockfile.
It is crucial that programs locking mail files refresh their locks at least every three minutes to maintain the lock. Refresh the lockfile
by calling the touchlock() function with no arguments.
The algorithm used to determine the age of the lockfile takes into account clock drift between machines using a network file system. A zero
is written into the lockfile so that the lock will be respected by systems running the standard version of System V.
If the lockfile has been modified in the last 5 minutes the process will sleep until the lock is available. The sleep algorithm is to
sleep for 5 seconds times the attempt number. That is, the first sleep will be for 5 seconds, the next sleep will be for 10 seconds, etc.
until the number of attempts reaches retrycnt.
When the lockfile is no longer needed, it should be removed by calling mailunlock().
The user argument is the login name of the user for whose mailbox the lockfile will be created. maillock() assumes that user's mailfiles
are in the ``standard'' place as defined in <maillock.h>.
RETURN VALUES
Upon successful completion, .maillock() returns 0. Otherwise it returns -1.
FILES
/var/mail/* user mailbox files
/var/mail/*.lock user mailbox lockfiles
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |Unsafe |
+-----------------------------+-----------------------------+
SEE ALSO
libmail(3LIB),attributes(5)
NOTES
The mailunlock() function will only remove the lockfile created from the most previous call to maillock(). Calling maillock() for different
users without intervening calls to mailunlock() will cause the initially created lockfile(s) to remain, potentially blocking subsequent
message delivery until the current process finally terminates.
SunOS 5.11 29 Mar 1999 maillock(3MAIL)