Sponsored Content
Top Forums Shell Programming and Scripting How to check if another instance of the process is running Post 76451 by vino on Tuesday 28th of June 2005 11:13:29 AM
Old 06-28-2005
Creating locks based on pids would'nt help. Each process that starts off, gets a new pid.

You mention that multiple scripts are involved. This is the chain of commands that I understood.

script1 -> script2 -> native code

i.e. script1 does something, calls script2, does something and then your app. is called.

This is what you should do.

Script1 checks for 'no ps count' and 'no lock file'. Hence your app. is not running. Create a lockfile and start script2.

Script2 checks for lock file and 'starts your app.' and 'deletes the lockfile'.

Now when you run script1 again, it will fail because will find 'ps count'.

Try it out.

Hope I didnt make any fatal flaws/assumptions. Smilie

'no ps count' is your original ps command.

vino
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

check process running

I have this script: ------------------------------------------------------- #!/bin/ksh # if ] || ] then echo "Executing main_load.sh script" /usr1/psc_load/jobs/cron/main_load.sh "ods" else echo "File not found, do nothing" fi exit 0 ... (4 Replies)
Discussion started by: rose1207
4 Replies

2. Shell Programming and Scripting

script to check if process is running

How do I make a shell script to see if a certain process is running. The process shows up on ps aux as /usr/sbin/daemon eg: if /usr/sbin/daemon else #nothin basically i want to run the process if it isnt running/ has been stopped. Thanks. (2 Replies)
Discussion started by: daydreamer
2 Replies

3. Shell Programming and Scripting

Check if Process is running

Hi , I have a csh code below which check the process if it's running. Can any expert advise me on the following: 1) what does this notationmean ">!" and how is it different from the append ">" notation ? 2) how does "setenv" work in this code ? # Check whether there is a running... (3 Replies)
Discussion started by: Raynon
3 Replies

4. UNIX and Linux Applications

How to check if process is running?

Hi I would like to check if an instance of a script is already running. I've seen many different examples, but I haven't the slightest idea as to how to do this. Can you please help. Thank you. (5 Replies)
Discussion started by: ladyAnne
5 Replies

5. Programming

How do I check if a process is running in C

How to I check if a process is running in C? I'm trying to use ps aux |grep "process name" but failing in doing that. How do I do that? Thanks, (1 Reply)
Discussion started by: cprogdude
1 Replies

6. Shell Programming and Scripting

need to check if the process is running

Hi, I check if the process is running or not using the below. /usr/ucb/ps auxww | grep 109 |grep rmi | awk '{print $2}' 9718 Thus we see 9718 is the PID. It return blank if the process is not running. I need to perform some action if the process is not running and leave it if... (8 Replies)
Discussion started by: shifahim
8 Replies

7. UNIX for Dummies Questions & Answers

How a process can check if a particular process is running on different machine?

I have process1 running on one machine and generating some log file. Now another process which can be launched on any machine wants to know if process1 is running or not and also in case it is running it wants to stream the logs file generated by process1 on terminal from which process2 is... (2 Replies)
Discussion started by: saurabhnsit2001
2 Replies

8. Shell Programming and Scripting

Process Instance not running properly.

I have run 10 instances of the process eg, process name is BG nohup /WP01IRB1_irbapp/IRBWPROD/RB/bin/BG -c 1 -t 23 -a '-caTop TESTBILLCYCLE='5FEB13_81PT19NPT''>a.txt & nohup /WP01IRB1_irbapp/IRBWPROD/RB/bin/BG -c 2 -t 23 -a '-caTop TESTBILLCYCLE='5FEB13_81PT19NPT''>b.txt & nohup... (3 Replies)
Discussion started by: ankitknit
3 Replies

9. UNIX for Advanced & Expert Users

How to check a single process instance is always running?

Hi, I want to write one program in C in Unix OS which will check the running status of a process time to time. If the process is stopped somehow by any means, it will ensure that the process is restarted and only one copy of the process image should run in memory at any point of time for the user.... (2 Replies)
Discussion started by: sanzee007
2 Replies

10. Shell Programming and Scripting

How to check same process running 10 times?

At run time Without knowing job name how to check the job running in specific user "ABCD" ,If the running job duplicate more then 10 then script it self send alert message to the users with the process ID name so that will kill the processed to avoid hung issue ,tried below script please check and... (15 Replies)
Discussion started by: Kalia
15 Replies
WITH-LOCK-EX(1) 						 Chiark-utils-bin						   WITH-LOCK-EX(1)

NAME
with-lock-ex - file locker SYNOPSIS
with-lock-ex -w|-q|-f lockfile command args ... DESCRIPTION
with-lock-ex will open and lock the lockfile for writing and then feed the remainder of its arguments to exec(2); when that process termi- nates the fd will be closed and the file unlocked automatically by the kernel. If the file does not exist it is created, with permissions rw for each user class for which the umask has w. OPTIONS
-w Wait for the lock to be available. -f Fail (printing a message to stderr and exiting 255) if the lock cannot be acquired immediately because another process has it. -q Silently do nothing (ie, exit 0 instead of executing the specified process) if the lock cannot be acquired immediately because another process has it. STALE LOCKS
The locking protocol used does not suffer from stale locks. If the lock cannot be acquired, one or more running processes must currently hold the lock; if the lock needs to be freed those processes should be killed. Under no circumstances should `stale lock cleaner' cron jobs, or the like, be instituted. In systems where a great many locks may exist, old lockfiles may be removed from cron but only if each lock is acquired before the lockfile is removed, for example with with-lock-ex -q lockfile rm lockfile DEADLOCKS
There is no deadlock detection. In a system with several locks, a lock hierarchy should be established, such that for every pair of locks A and B which a process might lock simultaneously, either A>B or B>A where the relation > is transitive and noncyclic. Then, for any two locks X and Y with X>Y it is forbidden to acquire X while holding Y. Instead, acquire X first, or release Y before (re)acquiring X and Y in that order. (There are more complicated ways of avoiding deadlocks, but a lock hierarchy is simple to understand and implement. If it does not meet your needs, consult the literature.) LOCKING PROTOCOL
The locking protocol used by with-lock-ex is as follows: The lock is held by a process (or group of processes) which holds an fcntl exclusive lock on the first byte of the plain file which has the specified name. A holder of the lock (and only a holder of the lock) may delete the file or change the inode to which the name refers, and as soon as it does so it ceases to hold the lock. Any process may create the file if it does not exist. There is no need for the file to contain any actual data. Indeed, actually using the file for data storage is strongly disrecommended, as this will foreclose most strategies for reliable update. Use a separate lockfile instead. Ability to obtain the lock corresponds to write permission on the file (and of course permission to create the file, if it does not already exist). However, processes with only read permission on the file can prevent the lock being acquired at all; therefore lockfiles should not usually be world-readable. When a (group of) processes wishes to acquire the lock, it should open the file (with O_CREAT) and lock it with fcntl(2) F_RWLCK, operation F_SETLK or F_SETLKW. If this succeeds it should fstat the file descriptor it has, and the file by its path. If the device and inode match then the lock has been acquired and remains acquired until that group of processes changes which file the name refers to, deletes the file, or releases the fcntl lock. If they do not then another process acquired the lock and deleted the file in the meantime; you must now close your filedescriptor and start again. with-lock-ex follows this specification. Note that flock(2) is a different kind of lock to fcntl(2). with-lock-ex uses fcntl. AUTHOR
This Manual page was written by Matthew Vernon <matthew@debian.org> and enhanced by Ian Jackson <ian@chiark.greenend.org.uk>, in 2003, but may be used by anyone. COPYRIGHT
with-lock-ex was written by Ian Jackson <ian@chiark.greenend.org.uk> in 1993, 1994, 1995, 1996, 1998, 1999. He has placed it in the public domain. SEE ALSO
fcntl(2), flock(2), chmod(2) Debian July 2003 WITH-LOCK-EX(1)
All times are GMT -4. The time now is 02:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy