Sponsored Content
Top Forums Shell Programming and Scripting Kill long running script, if it crosses the threshold time Post 302873575 by in2nix4life on Tuesday 12th of November 2013 11:36:29 AM
Old 11-12-2013
Here's a basic concept that I wrote:

Code:
#!/bin/bash
#
# procWatch.sh
#
# -- script to check the elapsed time of a given
# -- process and if running longer than an hour
# -- kill the process
#

# check command-line for process name
if [ $# -ne 1 ]
then
    echo "Usage: ${0##*/} <process name>"
    exit 1
fi

# store the process name
proc=$1

# use ps command to list the processes and parse
# out our process
read etime pid prog <<<$(ps -eo etime,pid,args | grep $proc | grep -v grep)

# scrub the inputs
etime=$(echo $etime | awk -F'-' '{print $2}')
prog=$(echo $prog|awk '{print $1}')
prog=${prog##*/}

# convert hour time to seconds
hour=$(date --date="1:00:00" +%s)

# convert elapsed time to seconds
elapsed=$(date --date="$etime" +%s)

# compare the times
if [ $elapsed -gt $hour ]
then
    echo "[+] The $prog process has been running for over an hour."
    echo "[+] Killing process: $pid."
    kill $pid
else
    echo "[+] The $prog process has been running for $etime."
fi

# done
exit 0

d6adeb2db50f32cecbc8fc313292e797

Last edited by in2nix4life; 11-12-2013 at 01:40 PM..
This User Gave Thanks to in2nix4life For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

script to kill rsh processes running for more than 10 minutes

Hi Friends, I need to write a script to kill some processes running for more than 10 minutes. Can I get some pointers on that. Thanks for ur help in Advance. Thanks&Regards, Amit (1 Reply)
Discussion started by: amitsayshii
1 Replies

2. UNIX for Dummies Questions & Answers

Script to kill rsh processes running for more than 10 mins

Hi Friends, I need to write a script to kill some processes running for more than 10 minutes. Can I get some pointers on that. Thanks for ur help in Advance. Thanks&Regards, Amit (3 Replies)
Discussion started by: amitsayshii
3 Replies

3. Shell Programming and Scripting

Script for long running processes....

I searched the forums but didn't see anything related to what I'm looking for. I need a script that would give me a listing of jobs running longer than, for example, 12 hours or so. Thanks in advance for your assistance!! (2 Replies)
Discussion started by: CyberOptiq
2 Replies

4. Shell Programming and Scripting

Alert for long running commands in script

Hi All, Is there a way in which a long running command can terminate by itself inside a script? I need something like below: echo Start <command> exit If the <command> is taking more than say 100 seconds to complete, the script should exit without manual intervention. Thanks, Deepak (2 Replies)
Discussion started by: deepakgang
2 Replies

5. Shell Programming and Scripting

determine the active processes on the system which are running since long time

Hi , Please help me shell script to determine the active processes on the system which are running since long time (2 Replies)
Discussion started by: itian2010
2 Replies

6. Shell Programming and Scripting

Running script automatically when threshold limit met in one of the field in oracle database

Hi Guys, Need you help in one point! I am working on one shell script which takes following steps : 1. Taking one query result from oracle database 2. Exporting that result to Xls file 3. Mailing that file to my own mail ID Now, I want to give a threshold limit to one of the column... (0 Replies)
Discussion started by: Agupte
0 Replies

7. Shell Programming and Scripting

Help with kill a specific process after certain running time

Hi, Do anybody experience to write a bash script in order to kill a specific process (java) after certain time of running? eg. java java.jar task_run.txt I will run a java program (java.jar) which will run a long list of process (task_run.txt) one by one. I plan to terminate the java... (5 Replies)
Discussion started by: perl_beginner
5 Replies

8. Shell Programming and Scripting

Script to kill a process running at a certain port

Hello, I have multiple scripts (vlc1, vlc2,...vlc5) and as I do not know how to run them as upstart processes, I entered my script links into rc.local file. Here is the sample one for process vlc1: $ nano /etc/rc.local added below line into rc.local /var/bin/./vlc1 & Port nr of vlc1... (7 Replies)
Discussion started by: baris35
7 Replies

9. Shell Programming and Scripting

Killing the process if running for long time in script

I am running a script which will read the data from fail line by line and call the Java program by providing the arguments from the each line. The Java code is working fast for few records and for some records its getting hanged not providing response for morethan one hour. Currently am... (4 Replies)
Discussion started by: dineshaila
4 Replies

10. Shell Programming and Scripting

First script in a long time

I was wondering if I could get some feedback on my script to grab time from our MDM... I blocked out all of the important stuff. I really appreciate any guidance, since I am long out of practice. #!/bin/bash serial=$1 # get last seen value of ipad lastseen=$(curl -s -X "GET"... (11 Replies)
Discussion started by: andysensible
11 Replies
CRONTABS(4)						      Crontabs users' Manual						       CRONTABS(4)

NAME
crontabs - configuration and scripts for running periodical jobs SYNOPSIS
run-parts [--list|--test]<directory> DESCRIPTION
Crontabs is a historical name for the run-parts script and the system crontab. The run-parts script runs all executables in the specified directory. Run-parts runs all executables in the specified directory. The execution of files can be allowed or denied by creating file jobs.allow or jobs.deny which worked similar as other allow/deny config files. The file must be created in the specified directory. --list print names of all files (not limited to executables), but don't run them. This option can't be used with test option. --test print names of files, which would be run. Randomization of jobs can be configured in the /etc/sysconfig/run-parts file. To enable randomization of jobs, set the RANDOMIZE parameter to 1 and set the RANDOM parameter to an integer which determines a random seed. Additionally, you may configure the RAN- DOMTIME parameter (again, by specifying an integer) to provide an additional level of randomization. Jobs are not randomized when the RANDOM and RANDOMTIME parameters are set to 0. Values in these two parameters must be set to 1 or larger to provide a good enough randomization. Randomization of cron jobs can be useful for shared networks, where multiple cron jobs executed at once can cause spikes in traffic, especially during daily jobs. With randomized jobs, the workload is evenly distributed throughout the day. EXAMPLE OF CONFIGURATION FILE
RANDOMIZE=1 RANDOM=4 RANDOMTIME=8 Historically the crontab file contained configuration which called run-parts on files in cron.{daily,weekly,monthly} directories. These jobs are now run indirectly through anacron to prevent conflicts between cron and anacron. That means the anacron package has to be installed if the jobs in these directories should be running. Refer to the anacron(8) how to limit the time of day of the job execution. EXAMPLE
/etc/cron.daily/jobs.deny could contain for example 0logwatch which forbid execution of this script. SEE ALSO
anacron(8), crontab(5) Marcela Malaova 2012-08-29 CRONTABS(4)
All times are GMT -4. The time now is 02:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy