Check whether a process is alive or not


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Check whether a process is alive or not
# 1  
Old 05-31-2007
Check whether a process is alive or not

Hi Everybody

I have small requirement that needs to be implemented in shell script.
Currently i have shell script which invokes a java process say "Process A" which runs in background.

If some one tries to invoke again the same shell script , then there should be some mechanism inside the shell script to check whether process "Process A"(Background process) is running already or not.If it is already running ,it shud not spawn new process "Process A" again.

On a simple way i can rephrase it as "At any point of time, there should be only one process(background) running which is been invoked by Shell script".If the same shell script is again invoked ,it shud not start the process till it is shutdown.

Another info i need is

Basically i have Process ID of background process which is running currently.
I want to check whether the process that belongs to the process id is alive or not .....

Reply wud be very much appreciated
# 2  
Old 05-31-2007
Am sure there had been so many threads regarding the same
with solutions like, having control file or pid file

or checking with ps -ef and grep in the shell script itself.

You would find your answer with search. Smilie
# 3  
Old 05-31-2007
# 4  
Old 05-31-2007
Among the few ways of accomplishing this, this is one way.

Code:
count=$(ps x | grep '[j]ava yourapp' | wc -l)
if [[ $count == 0 ]; then
  java yourapp
fi;

# 5  
Old 05-31-2007
Quote:
Originally Posted by vino
Among the few ways of accomplishing this, this is one way.

Code:
count=$(ps x | grep '[j]ava yourapp' | wc -l)
if [[ $count == 0 ]; then
  java yourapp
fi;


Combine grep and wc -l with " -c " option
# 6  
Old 05-31-2007
Quote:
Originally Posted by matrixmadhan
Combine grep and wc -l with " -c " option
Code:
ps x | grep '[j]ava yourapp'||java yourapp

# 7  
Old 05-31-2007
Quote:
Originally Posted by appleforme1415
[...]
Basically i have Process ID of background process which is running currently.
I want to check whether the process that belongs to the process id is alive or not .....
[...]
Code:
$ sleep 5 &
[1] 24814
$ ps -p $! || echo "not running"
   PID TTY      TIME CMD
 24814 pts/1    0:00 sleep
$ 
[1]+  Done                    sleep 5
$ ps -p $! || echo "not running"
   PID TTY      TIME CMD
not running

If your ps doesn't support the p option, use "...|grep <pid>"
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Tips and Tutorials

My "Bread and Butter" Process Keep Alive Perl Script....

For the newbies, I should have posted this years ago.... Here is the standard (tiny) "bread and butter" perl script (on Linux) I use in my crontab files to insure key processes are alive ( just in case ! ) like httpd, named, sshd, etc. The example below if for named...... ... (1 Reply)
Discussion started by: Neo
1 Replies

2. 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

3. UNIX for Dummies Questions & Answers

Check the URL is alive or dead with port number

Hi, I am running certain weblogic instance, in which it's hard to find which instance is stopped or running after stopping the weblogic , cause process status is for all the instance is same. A URL which shows the instance is stopped or running. But i have major challenge to check it through... (2 Replies)
Discussion started by: posix
2 Replies

4. Solaris

keeping a process alive ?

Hello guys, I have one script running that I need to keep it running 24x7 so I'd like to know how can I implement a sort of monitoring process I mean if for some reason this process dies somehow it gets automatically started again. Thanks. (8 Replies)
Discussion started by: cerioni
8 Replies

5. Shell Programming and Scripting

Check process

Hi.. I have this code which tells me that if a process is running or not. Actually someone on this forum help me to do it. :) But now If i want to check if the process is not running for more than 10 minutes. Does anyone know the code or syntax that checks if a process is not running for some... (1 Reply)
Discussion started by: kanexxx
1 Replies

6. Shell Programming and Scripting

How to check if a pid is alive?

I want to do some operations provided the pid is active. (6 Replies)
Discussion started by: ScriptDummy
6 Replies

7. UNIX for Dummies Questions & Answers

Check the process

Except the command "top" , is there other function / tool is used to check the process status in the system like 1. what process are running ? 2. how the CPU are allocating ? 3. how many swap is using ? 4. " Thx. (1 Reply)
Discussion started by: ust
1 Replies

8. Shell Programming and Scripting

check the process

how to kill the process that are idle over 30 minutes ? thx (2 Replies)
Discussion started by: ust
2 Replies

9. UNIX for Advanced & Expert Users

Check the process

I want to find the pid ( by ps ) that has already run over 30 seconds , I know ps only show the minute/hour . eg. the start time of the below process are 15:19 / 15:20 , but I don't know the exact time ( in term of "second" ) it start to run ( I only know the hour and minute ) , if I want to... (2 Replies)
Discussion started by: ust
2 Replies

10. Shell Programming and Scripting

check if job still alive and killing it after a certain walltime

Hi! I'm using a script to start a process that might run forever if some parameters are given wrong (it's part of an optimization). I would now like to have the process killed after a certain walltime in that case. So far I get it done with the following lines ./My_process.e & pid=`ps -ef |... (3 Replies)
Discussion started by: ciwstevie
3 Replies
Login or Register to Ask a Question