How to monitor if a process is running


 
Thread Tools Search this Thread
Top Forums Programming How to monitor if a process is running
# 1  
Old 11-14-2001
How to monitor if a process is running

I would like to know if i can monitor if a process is running.
I have one program wich is running all the time, called oliba, but sometimes it goes down, and I have to launch it again.
Is there a way to monitor the pid of the program, and if the program goes down, to lauch it again?
Can you give me an example of a source?

Thanks in advance.
# 2  
Old 11-14-2001
See this thread for a discussion about doing this from a shell. But the same technique works well in C, just invoke the kill system call using zero as the signal. Then check to see if it worked. Sample source code, huh? Well...
Code:
    if (kill(pid,0))

Smilie Sorry, I couldn't resist...
# 3  
Old 11-14-2001
Use inittab, or <A HREF="http://cr.yp.to/daemontools.html">daemontools</A>
# 4  
Old 11-14-2001
While this response doesn't really belong in the C Programming section, the best way that I can see to ensure that your process runs all the time would be to write some sort of wrapper shell script to run the program with. Here is how you could do it in perl:

<hr noshade>
#!/usr/bin/perl

use strict;

my $OLIBA_CMD = '/[path to oliba here]/oliba';
my $SLEEP_TIME = 5; # check to see if it is running every 5 seconds

while(1)
{
my @pid_array = `ps -ef | grep [o]liba`; # thanks Perderabo Smilie

my $pid_count = scalar(@pid_array);

if ($pid_count == 0)
{
# uh oh it isn't running
system "$OLIBA_CMD"; # run it
}
elsif ($pid_count > 1)
{
# There is more than one instance running?
# code to mail the admin or something in here
}
sleep $SLEEP_TIME;
}
<hr noshade>

Hope this helps.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Command to get exact tomcat process I am running ignoring other java process

Team, I have multiple batchjobs running in VM, if I do ps -ef |grep java or tomcat I am getting multiple process list. How do I get my exact tomcat process running and that is unique? via shell script? (4 Replies)
Discussion started by: Ghanshyam Ratho
4 Replies

2. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (6 Replies)
Discussion started by: naveeng
6 Replies

3. UNIX for Advanced & Expert Users

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (1 Reply)
Discussion started by: naveeng
1 Replies

4. BSD

Process remians in Running state causing other similar process to sleep and results to system hang

Hi Experts, I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state. On doing cat /proc/<pid>wchan showing the "__init_begin" in the output. Can you please help me here... (0 Replies)
Discussion started by: naveeng
0 Replies

5. Shell Programming and Scripting

Monitor log when Process comes UP

Hi, I need to grep a pattern in the log file of a process and send a mail if pattern found.But I am not able to figure out how do I detect when the process comes UP,it is started several times a day and each time it is started I need to perform this action. Please suggest something. (3 Replies)
Discussion started by: vishal bhargava
3 Replies

6. Shell Programming and Scripting

script to monitor the process system when a process from user takes longer than 15 min run.

get email notification from from system when a process from XXXX user takes longer than 15 min run.Let me know the time estimation for the same. hi ,any one please tell me , how to write a script to get email notification from system when a process from as mentioned above a xxxx user takes... (1 Reply)
Discussion started by: kirankrishna3
1 Replies

7. Shell Programming and Scripting

Monitor a long running process

Gurus, I am writing a shell script that will be used to automate cold backup of an Oracle Database. The database size is around 300G and will take around 5-6 hours to copy. I have finished the script till the copy of the datafiles. Now, I am stuck at the point where I need to monitor the... (4 Replies)
Discussion started by: sunpraveen
4 Replies

8. UNIX for Advanced & Expert Users

code to monitor a process

hi, I need to change the code such that it becomes configurable to send email or sms or both. At the moment the code works like sending both email and sms for any alert now want to change it to send email/sms as per my demand. 1. Like for a particular alert I only want email 2. If the alert... (2 Replies)
Discussion started by: madfox
2 Replies

9. Shell Programming and Scripting

script to monitor process running on server and posting a mail if any process is dead

Hello all, I would be happy if any one could help me with a shell script that would determine all the processes running on a Unix server and post a mail if any of the process is not running or aborted. Thanks in advance Regards, pradeep kulkarni. :mad: (13 Replies)
Discussion started by: pradeepmacha
13 Replies

10. Shell Programming and Scripting

not able to monitor the process

hi all I am running a script monitor using source command. the shell script monitor is used to execute a pl/sql procedure. when i do source monitor and then ps -ef | grep <procedure name> i do not get any info but when i do sh monitor and then ps -ef | grep <procedure name> i... (8 Replies)
Discussion started by: infyanurag
8 Replies
Login or Register to Ask a Question