Sponsored Content
Top Forums Shell Programming and Scripting My Script For Process Checking is NOT Working Post 302629001 by radoulov on Tuesday 24th of April 2012 08:31:38 AM
Old 04-24-2012
Quote:
Originally Posted by rymnd_12345
[...]
So what I've did is to have it this way:
Code:
psef=`ps -ef | grep "IP-PoolSession-Summary.sh" | grep -v "grep" | wc -l`
if [ $psef -ge 3 ]; then
[...]

and it worked... don't know why it behaved that way.
This should work fine if you're sure that your script will always be executed with bash
(and - really less likely to happen - that the name of the script will never appear in the process list for some other reason).

You may implement a lock/flag file like this:

Code:
_lock_dir=<some_lock_dir>
_lock_file=${0##*/}.lck

[ -f "$_lock_dir/$_lock_file" ] && [ ! -L "$_lock_dir/$_lock_file" ] && {
  printf >&2 'another instance of %s is already running: $s\n' "${0##*/}" "$(< "$_lock_dir/$_lock_file")"
  exit 1
  }

[ -d "$_lock_dir" ] || 
  mkdir "$_lock_dir" || {
    printf >&2 'failed to create lock dir: %s\n' "$_lock_dir"
    exit 1
    }

printf > "$_lock_dir/$_lock_file" '%d\n' $$

<the rest of your code here ... >

# remove the lock file at the end

[ -f "$_lock_dir/$_lock_file" ] && [ ! -L "$_lock_dir/$_lock_file" ] &&
  rm -- "$_lock_dir/$_lock_file" || {
    printf >&2 'failed to remove lock file: %s\n' "$_lock_dir/$_lock_file"
    exit 1
    }

1. In the above demo I'm using some constructs that are not available in the old (the traditional) Bourne shell (the parameter expansion).
2. In one place I'm using a non standard (not POSIX) syntax, but that construct is available in most modern shells.

Let me know if that's a problem for you.
 

10 More Discussions You Might Find Interesting

1. HP-UX

checking process existed

On HP-UX, in application, if the process id has been get with the getpid() and sotred in database, then other monitor process want to check it if the process is existed, are there any system function can do it? I do not want to use the shell script, because it should use popen function to excuted... (5 Replies)
Discussion started by: Frank2004
5 Replies

2. Shell Programming and Scripting

Checking the cron process in unix

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)
Discussion started by: Ashok_oct22
2 Replies

3. Shell Programming and Scripting

Checking for multiple instances of a process

Hi I have a scenario where i need to check multiple instances of a running shell script (abc.sh) . How can I find from inside a running shell script whether any other instance of the same script is running or not? If any other instance of same shell script is running I need to exit from... (4 Replies)
Discussion started by: raghu.amilineni
4 Replies

4. Shell Programming and Scripting

The checking of folder existance is not working...

Hi all, I have the following code: if ; then echo 'folder not exist'; else echo 'folder exist'; fi The "testing" folder is not exist in /home/batch , but thhe result is 'folder exist'. It seems that the code cannot detect that the folder "testing" not exist. ANybody know the... (1 Reply)
Discussion started by: suigion
1 Replies

5. Shell Programming and Scripting

Process checking loop

Hi, I want to create a script who will check if the java process is running & if it finds the process is still there it continues to execute & when the process completes it exit from the script. I have written a code to check & notify the process existence but i am not getting how to write... (4 Replies)
Discussion started by: d8011
4 Replies

6. Shell Programming and Scripting

block process checking

How can i check block process in Linux? If found any what action is required? How to check the pid of process? How to kill the block process? How to find out bottleneck process? (3 Replies)
Discussion started by: learnbash
3 Replies

7. AIX

Script Checking LVM Mirror not Working

Hi, I need to know who can I create an script in order to check server mirror in AIX. I got this script !/usr/bin/ksh # # Check if a VG is mirrored. # # lsattr -El <lvname> -a strictness -a copies # If copies=2 and scrictness=y, then VG is mirrored # # LVs are retrieved via 'lsvg -l... (5 Replies)
Discussion started by: fede_mont
5 Replies

8. Solaris

Python script not working in batch process

Good morning, I have a python 2.3 script that runs stand alone as intended when tested, then it was put into a ksh script. when running the ksh script it runs as intended. The problem is that my script does not run when the ksh script is called by another user who runs a batch process (as of right... (1 Reply)
Discussion started by: mhahe
1 Replies

9. Shell Programming and Scripting

Problem with a script for checking the state of a process

Hello Everyone, I have a process that should be always running. Unfortunately, this process is getting down almost every 10 minutes. I want to make a script that verify the state of this process: If the process is up, the script shouldn't do nothing and if it's down he should run it. Can... (3 Replies)
Discussion started by: adilyos
3 Replies

10. Shell Programming and Scripting

Checking DataPump Process

Hi All, I am writing script for Env refresh for Oracle DB. I am using Datapump for that. If i start expdp or impdp, how can i know that export or import has completed. I have query for that. How will i integrate with script?. Or any command i can run from Linux side. Please share you... (1 Reply)
Discussion started by: pvmanikandan
1 Replies
halockrun(1M)						  System Administration Commands					     halockrun(1M)

NAME
halockrun - run a child program while holding a file lock SYNOPSIS
/usr/cluster/bin/halockrun [-nsv] [-e exitcode] lockfilename prog [args] DESCRIPTION
The halockrun utility provides a convenient means to claim a file lock on a file and run a program while holding that lock. As this utility supports script locking, this utility is useful when programming in scripting languages such as the Bourne shell. See sh(1). halockrun opens the file lockfilename and claims an exclusive mode file lock on the entire file. See fcntl(2) fcntl(2)). Then it runs the program prog with arguments args as a child process and waits for the child process to exit. When the child exits, halockrun releases the lock, and exits with the same exit code with which the child exited. The overall effect is that the child prog is run as a critical section, and that this critical section is well-formed, in that no matter how the child terminates, the lock is released. If the file lockfilename cannot be opened or created, then halockrun prints an error message on stderr and exits with exit code 99. You can run this command in the global zone or in a non-global zone. The command affects only the global or non-global zone in which you issue the command. OPTIONS
The following options are supported: -e exitcode Normally, errors detected by halockrun exit with exit code 99. The -e option provides a means to change this special exit code to a different value. -n The lock should be requested in non-blocking mode: if the lock cannot be granted immediately, halockrun exits immediately, with exit code 1, without running prog. This behavior is not affected by the -e option. Without the -n option, the lock is requested in blocking mode, thus, the halockrun utility blocks waiting for the lock to become available. -s Claim the file lock in shared mode, rather than in exclusive mode. -v Verbose output, on stderr. EXIT STATUS
Errors detected by halockrun itself, such that the child process was never started, cause halockrun to exit with exit code 99. (This exit code value can be changed to a different value using the -e option. See OPTIONS. Otherwise, halockrun exits with the same exit code with which the child exited. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
fcntl(2), attributes(5) Sun Cluster 3.2 10 Apr 2006 halockrun(1M)
All times are GMT -4. The time now is 01:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy