Sponsored Content
Full Discussion: Lightwight Process monitor
Top Forums Shell Programming and Scripting Lightwight Process monitor Post 10553 by LivinFree on Friday 16th of November 2001 06:18:19 AM
Old 11-16-2001
Lightwight Process monitor

We've been having some problems with a specific program in our nightly processing, so I whipped up a little script to run to monitor it, and send an e-mail when it's complete (failure or not). My primary problem is that I cannot modify the binary or the script that calls it, since the developers probably wouldn't be too happy about that. So it has to be stand-alone. My goal is a reliable script, fairly simple, and above all, very lightweight (I don't want to use any more cycles than are absolutely neccessary). Here's what I have running right now:
Code:
#!/usr/bin/sh
trap '' 1
bail_out () {
mail myself@mycompany <<!done
Subject: My_Job has finished
Importance: high
X-Priority: 1


My_Job has finished running.
If {program) reports that the process is still running, there
may be a problem. Go to \\\\path_to\samba_share and make sure that
the file is an appropriate size before continuing with the
{other_program} jobs.

Call somebody right away if there is a problem.
.
!done
exit 0
}
check_it () {
while :
do
ps -e | grep [M]y_Job >/dev/null 2>&1
case $? in
0) sleep 120 ;;
*) bail_out; exit 1 ;;
esac
done
}
check_it&

I want to be able to let other night operators run this during the weekend (that's why I wrote the instruction in the mail). Also, since none of them are very Unix literate (we only have a few Unix servers around - we're mostly NT), I wanted to make it simple to run. Just type name_of_script, and it'll background itself...

My question is: Can this be written to take even less resources?

Oh yeah, BTW, in case people are wondering:
This is a midrange HP-UX server in a key production environment...
 

10 More Discussions You Might Find Interesting

1. Programming

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... (3 Replies)
Discussion started by: Pedro Tavares
3 Replies

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

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

4. UNIX for Dummies Questions & Answers

Monitor Memory of a process

Hi, I need to monitor the memory usage of a particular process continuously. As of now I am using the following command: ps -fu <user name> -o pid,comm,vsz | grep <process_name> | grep -v grep The output of this command gives me what i need except i want the output to keep getting updated... (3 Replies)
Discussion started by: archana485
3 Replies

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

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

Script to Monitor a Process with Top.

Hi, I have written a script to monitor a Process with the help of top command. This is my script. ====================== #!/bin/sh DATE=`date +%Y%m%d%H%M%S` HOME=/home/xmp/testing/xmp_report RADIUS_PID=`xms -xmp sh pr | grep "RADIUS.iamsp02ldv" |awk '{ print $3 }'` PSE_PID=`xms -xmp sh... (5 Replies)
Discussion started by: Siddheshk
5 Replies

8. Shell Programming and Scripting

Script to monitor the process

Hi, I need help to monitoring a process using the shell script The same output is below oracle 32578 32577 0 Feb27 ? 00:06:47 java -cp .:lib/ant.jar:lib/ojdbc5.jar:lib/log4j-1.2.17.jar:/ORACLE_HOME/server/lib/wlfullclient.jar:/ORACLE _HOME/server/lib/weblogic.jar:Alerts.jar... (9 Replies)
Discussion started by: ajothi
9 Replies

9. Shell Programming and Scripting

Monitor and restart UNIX process

Hi all, Tearing my hair out..! I have a requirement to monitor and restart a unix process via a simple watchdog script. I have the following 3 scripts that dont work for me.. script 1 (only produces 1 output if process is up or not)... (4 Replies)
Discussion started by: jonnyd
4 Replies

10. 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
SPEEDY(1p)																SPEEDY(1p)

NAME
speedy - a persistent Perl interpreter SYNOPSIS
speedy [ <perl options> ] [ -- <speedy options> ] [ <filename> ] DESCRIPTION
speedy, short for SpeedyCGI, is a way to run perl scripts persistently, which can make them run much more quickly. The most common way to make a script run persistently is by changing the interpreter line at the top of the script from: #!/usr/bin/perl to #!/usr/bin/speedy After the script is initially run, instead of exiting, the perl interpreter is kept running. During subsequent runs, this interpreter is used to handle new executions instead of starting a new perl interpreter each time. A very fast frontend program, written in C, is exe- cuted for each request. This fast frontend then contacts the persistent Perl process, which is usually already running, to do the work and return the results. Each perl script runs in its own Unix process, so one perl script can't interfere with another. Command line options can also be used to deal with programs that have memory leaks or other problems that might keep them from otherwise running persistently. Although SpeedyCGI is especially useful for CGI scripts, it can be used to keep any perl script running persistently. See CGI::Speedy- CGI(3.pm) for a complete description of SpeedyCGI, including further details on CGI execution and Apache issues. This manual page is based on that, but concentrates on running speedy from the command line. OPTIONS
The speedy command line is the same as for regular perl, with the exception that SpeedyCGI specific options can be passed in after a "--". For example the line: #!/usr/bin/speedy -w -- -t300 at the top of your script will set the perl option `-w' and will pass the `-t' option to SpeedyCGI, setting the Timeout value to 300 sec- onds. The options can also be set at run-time from the perl script using the CGI::SpeedyCGI module. OPTIONS AVAILABLE See CGI::SpeedyCGI(3.pm) for a complete description of the options. -p<string> BackendProg : Path to the speedy backend program. (Default: /usr/bin/speedy_backend) -B<number> BufsizGet : Use <number> bytes as the maximum size for the buffer that receives data from the perl backend. (Default: 131072) -b<number> BufsizPost : Use <number> bytes as the maximum size for the buffer that sends data to the perl backend. (Default: 131072) -g<string> Group : Allow a single perl interpreter to run multiple scripts. See CGI::SpeedyCGI(3.pm) for details. (Default: `none') -M<number> MaxBackends : If non-zero, limits the number of speedy backends running for this perl script to <number>. (Default: 0) -r<number> MaxRuns : Once the perl interpreter has run <number> times, re-exec the backend process. Zero indicates no maximum. This option is useful for processes that tend to consume resources over time. (Default: 500) -t<number> Timeout : If no new requests have been received after <number> seconds, exit the persistent perl interpreter. Zero indicates no timeout. (Default: 3600) -T<string> TmpBase : Use the given prefix for creating temporary files. This must be a filename prefix, not a directory name. (Default: `/tmp/speedy') -v Version : Print the SpeedyCGI version and exit. ENVIRONMENT
Environment variables can also be used to pass in options. This can only be done before the initial execution, not from within the script itself. The name of the environment variable is always SPEEDY_ followed by the option name in upper-case. For example to set the speedy Timeout option, use the environment variable named SPEEDY_TIMEOUT. FILES
/tmp/speedy* A unix socket used to connect to the backend process. See speedy_backend(1) for more information. AUTHOR
Sam Horrocks http://daemoninc.com sam@daemoninc.com NOTES
This manual page was created by Niko Tyni <ntyni@iki.fi> for Debian GNU/Linux, because the original program does not have one. It is based on the original and more complete CGI::SpeedyCGI(3pm) manual page. BUGS
There are command-line parsing incompatibilities with the real Perl. These aren't very easy to fix, as even the perlrun manpage isn't quite accurate on which parameters can be separated (like '-I') and which can't (like '-C'). speedy doesn't allow any of them to be sepa- rated. It considers the first option without a leading dash as the script filename. SEE ALSO
perl(1), CGI::SpeedyCGI(3pm), speedy_backend(1) SPEEDY(1p)
All times are GMT -4. The time now is 03:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy