Visit The New, Modern Unix Linux Community


Using top command to email if process is exceeding 25% and sending an email alert if so


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using top command to email if process is exceeding 25% and sending an email alert if so
# 1  
Java Using top command to email if process is exceeding 25% and sending an email alert if so

This is my first time writing a script and Im having some trouble,
Im trying to use the top command to monitor processes and the amount of CPU usage they require, my aim is to get an email if a process takes over a certain percentage of CPU usage
I tried grep [25%-100%]
Obviosly that hasnt worked,
Any help would be much appreciated Smilie

FYI im using the bash shell for the script
# 2  
top's an interactive program and its output notoriously hard to interpret programatically. Why not just use ps, which outputs in a tabular format and probably includes similar information?

What's your system?

What's ps aux look like for you?
This User Gave Thanks to Corona688 For This Post:
# 3  
Try something like

Code:
ps -eo pri,psr,pcpu,stat | awk '{if($3 >= 25)print $0}'

This User Gave Thanks to codemaniac For This Post:
# 4  
when I input that command it comes back with this
Code:
awk: syntax error near line 1
awk: illegal statement near line 1
ps: unknown output format: -o stat
usage: ps [ -aAdeflcjLPyZ ] [ -o format ] [ -t termlist ]
        [ -u userlist ] [ -U userlist ] [ -G grouplist ]
        [ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ]
  'format' is one or more of:
        user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
        pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
        f s c lwp nlwp psr tty addr wchan fname comm args projid project pset


Last edited by Scott; 03-02-2012 at 01:13 PM.. Reason: Code tags
# 5  
This is why I asked what your system is, and why I asked what your ps aux looks like. Without knowing that, we're bound to suggest things that could never work for you.

Though, I think you made a typo somewhere when typing in the awk statement. When typed in letter-for-letter, there's absolutely nothing wrong with it.
# 6  
Correctly suggested by Corona688 above , first you have to check in what environment you are in .Please check your ps's manual and grep out which options are available when you use -o switch .I guess the stat option is not natively supported in your environment , unlike mine .
# 7  
does this help:
Code:
bash-3.00# uname
SunOS
bash-3.00# ps aux
usage: ps [ -aAdeflcjLPyZ ] [ -o format ] [ -t termlist ]
        [ -u userlist ] [ -U userlist ] [ -G grouplist ]
        [ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ]
  'format' is one or more of:
        user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
        pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
        f s c lwp nlwp psr tty addr wchan fname comm args projid project pset

---------- Post updated at 04:07 PM ---------- Previous update was at 03:43 PM ----------

Almost there thanks to both of you 2's help, one thing though instead of the 'print $0' im trying to substitute it to write to a file so I can then email that file to myself, is this possible?

Last edited by Scott; 03-02-2012 at 01:13 PM.. Reason: Code tags
This User Gave Thanks to jay02 For This Post:

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #974
Difficulty: Medium
Version 1.0 of the Linux kernel was released on 14 March 1994.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sending output of command via email

Hi all i want to send the output of a command by email, i have done this <comand> | mail -s <subject> <email address> which works well, but if the command retunrs noting then i just get a blank email, is there a way to stop this thanks Adam (4 Replies)
Discussion started by: ab52
4 Replies

2. Linux

sending an email

I have used an already-built ActiveX control to send email from my asp web pages. One of the parameters I fill is FromName which defines the tittle the recipient will see in the From entrance in his Inbox. Now Iīm trying to use mail to send an email from a Shell but I havenīt found the... (1 Reply)
Discussion started by: RandomAccess
1 Replies

3. Shell Programming and Scripting

sending email as background process

Hi All, Solaris Bash v3x I have a script that accepts an error code, and if the error code is not 0 then an email is sent using mailx to details the error. I want to be able to implement the functiuonlity whereby i can send the email in a background process so the script can continue with... (3 Replies)
Discussion started by: satnamx
3 Replies

4. AIX

email alerts for memory or cpu exceeding thresholds

Hi Guys, I hope this is an easy question: I need some kind of script or an idea how I can convince syslog to send an email to root or someone else once cpu usage exceeds 95% or the memory consumption (maybe via AVM value times 4k) exceeds 85% of my real memory on any of my 700 lpars. We're... (4 Replies)
Discussion started by: zxmaus
4 Replies

5. UNIX for Dummies Questions & Answers

Sending email attachments

Hello, I've search the forum, but I cannot find an answer to my specific question. I'm trying to send some files to my professor. Upon his request, I used the following: tar -cvf vh.tar vh_part1.c vh_part2.c vh_part3.c vh_part4.c vh_sample_run15.txt uuencode vh.tar vh.tar > proj1 mail... (2 Replies)
Discussion started by: venush
2 Replies

6. Shell Programming and Scripting

Sending an email with more than one files

Hi, I would like to send an email with more than one attachement. I am using uuencode. I want to achive by suing uuencode. Also please let me know other ways. -Thambi (7 Replies)
Discussion started by: thambi
7 Replies

7. Shell Programming and Scripting

Sending find command results to email

This is probably simple so forgive me... I just want to find all files in a folder created within the last 10 minutes... This is easy: # find /home/folder -cmin -10 If the find command locates any files created in the last ten minutes I want it to send an email alert. I just want to... (3 Replies)
Discussion started by: gardellap
3 Replies

8. UNIX for Dummies Questions & Answers

sending email

hi, is there any possiblity to send email from the command prompt, for eg i want to send alert to any mail id like /data/logs is 80% to my hotmail account , xxx@hotmail.com is this really possible,, if not, then what are the prerequistes need to do this (1 Reply)
Discussion started by: vasikaran
1 Replies

9. UNIX for Dummies Questions & Answers

Sending email

I have an Solaris 8 machine running a managment application. One of the features of this application is to configure alarm forwarding to an email undress. When i configured the application to do that, it asked me only about the recipient email address. Quesiton: how to configure my Solaris 8... (7 Replies)
Discussion started by: bcheaib
7 Replies

Featured Tech Videos