Sponsored Content
Top Forums Shell Programming and Scripting Shell script for process monitoring Post 302526467 by radoulov on Tuesday 31st of May 2011 03:12:52 PM
Old 05-31-2011
Which OS are you using?

Assuming you want to monitor a process named atd and pidof is available:

Code:
#!/bin/bash

_prg=atd
_logfile=monitor.log

while sleep 60; do                                        # poll every minute ...
  pgrep -f "$_prg" >/dev/null || {                        # if process not available
    start atd  >/dev/null 2>&1                            # start it and log the operation
    printf '[%s] %s started with pid %d at %s\n' \
      "$( date )" "$_prg" $( pgrep -f "$_prg" ) >> "$_logfile"
      }
done

If pgrep is not available, you may try some of these:

Code:
ps -C <your_program> -o pid=

The last option could be something like this (assuming your process is atd):

Code:
ps -eo pid,args= | grep '[a]td' |cut -d\  -f2

Bare in mind, that if you're starting your process in background, its pid will be available in the $! variable (so you won't need all the stuff above).

Last edited by radoulov; 05-31-2011 at 05:36 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Process Monitoring Script Help

I have a shell script which runs from 7AM to 3AM every day. The script performs certain monitoring functions and if it has a problem it may need to email someone about it. The problem is that the notification process was never modified to handle running past midnight (from 23:59:59 till 3AM). ... (0 Replies)
Discussion started by: rdc69
0 Replies

2. Shell Programming and Scripting

Weblogic monitoring shell script

HI, I'm new in unix. I would like to know if you have a ready script for monitoring the weblogic and managed servers. I want to have a script that checks the weblogic once in a while if it's up and running. if not running, will send an email to me. any idea? please help me. i will... (4 Replies)
Discussion started by: tungaw2004
4 Replies

3. Shell Programming and Scripting

Process Monitoring Script

I need a script on Solaris 10 OS to monitor 3 seperate processes running. Each process has 3 of the same processes running a total of 9 processes and I need the ability to know if all of processes for each process is running and to email me if they aren't running. I'm new to Unix programming and... (3 Replies)
Discussion started by: soupbone38
3 Replies

4. Shell Programming and Scripting

Error in script to automate the daily monitoring process of UNIX server and it's proc

hi friends, I am trying to automate the daily monitoring process of UNIX server and it's processes. the script are below i executed the above script using ksh -x monitortest1.sh in root login . It shows error at some lines . 1. i logged in using root ,but it... (8 Replies)
Discussion started by: rdhaprakasam
8 Replies

5. Shell Programming and Scripting

Help on Process Monitoring Script

Hi All, I have a Java application running in the background which process looks like this. java -DMyService=Y -DWorkingDir And I have a monitoring script which looks like this; count_service=`ps -aef | grep MyService | wc -l` if ; then echo "Service_Stopped on `date`" >>... (6 Replies)
Discussion started by: swmk
6 Replies

6. Shell Programming and Scripting

Shell Script to Kill Process(number of process) Unix/Solaris

Hi Experts, we do have a shell script for Unix Solaris, which will kill all the process manullay, it used to work in my previous env, but now it is throwing this error.. could some one please help me to resolve it This is how we execute the script (and this is the requirement) ... (2 Replies)
Discussion started by: jonnyvic
2 Replies

7. Shell Programming and Scripting

need help with a process monitoring script

GM everyone, I have this script that goes to multiple servers and monitor a certain process and send the output to a file on servers1, the script looks like this exec < server.list while read SERVER do ssh $SERVER "ps -ef | grep process_name" >> /tmp/report done can someone help ad... (0 Replies)
Discussion started by: baders
0 Replies

8. Shell Programming and Scripting

Need help with my process monitoring script

GM everyone, I have this script that goes to multiple servers and monitor a certain process and send the output to a file on servers1, the script looks like this Code: exec < server.listwhile read SERVER do ssh $SERVER "ps -ef | grep process_name" >> /tmp/reportdone can someone help me... (2 Replies)
Discussion started by: baders
2 Replies

9. Shell Programming and Scripting

Shell Monitoring Script

Hi guys, I didn't understand this monitoring script request - I don't ask for the script result. If you understand the request, I'm just asking an explanation to simplify it for me. THE Script Request: Our organization keeps various files in directories structured as... (2 Replies)
Discussion started by: moshesa
2 Replies

10. Shell Programming and Scripting

Monitoring processes in parallel and process log file after process exits

I am writing a script to kick off a process to gather logs on multiple nodes in parallel using "&". These processes create individual log files. Which I would like to filter and convert in CSV format after they are complete. I am facing following issues: 1. Monitor all Processes parallelly.... (5 Replies)
Discussion started by: shunya
5 Replies
runsvdir(8)                                                   System Manager's Manual                                                  runsvdir(8)

NAME
runsvdir - starts and monitors a collection of runsv(8) processes SYNOPSIS
runsvdir [-P] dir [ log ] DESCRIPTION
dir must be a directory. log is a space holder for a readproctitle log, and must be at least seven characters long or absent. runsvdir starts a runsv(8) process for each subdirectory, or symlink to a directory, in the services directory dir, up to a limit of 1000 subdirectories, and restarts a runsv(8) process if it terminates. runsvdir skips subdirectory names starting with dots. runsv(8) must be in runsvdir's PATH. At least every five seconds runsvdir checks whether the time of last modification, the inode, or the device, of the services directory dir has changed. If so, it re-scans the service directory, and if it sees a new subdirectory, or new symlink to a directory, in dir, it starts a new runsv(8) process; if runsvdir sees a subdirectory being removed that was previously there, it sends the corresponding runsv(8) process a TERM signal, stops monitoring this process, and so does not restart the runsv(8) process if it exits. If the log argument is given to runsvdir, all output to standard error is redirected to this log, which is similar to the daemontools' readproctitle log. To see the most recent error messages, use a process-listing tool such as ps(1). runsvdir writes a dot to the read- proctitle log every 15 minutes so that old error messages expire. OPTIONS
-P use setsid(2) to run each runsv(8) process in a new session and separate process group. SIGNALS
If runsvdir receives a TERM signal, it exits with 0 immediately. If runsvdir receives a HUP signal, it sends a TERM signal to each runsv(8) process it is monitoring and then exits with 111. SEE ALSO
sv(8), runsv(8), runsvchdir(8), runit(8), runit-init(8), chpst(8), svlogd(8), utmpset(8), setsid(2) http://smarden.org/runit/ AUTHOR
Gerrit Pape <pape@smarden.org> runsvdir(8)
All times are GMT -4. The time now is 12:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy