Sponsored Content
Top Forums Shell Programming and Scripting Killing the process if running for long time in script Post 302974151 by dineshaila on Thursday 26th of May 2016 02:01:01 AM
Old 05-26-2016
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 killing it manually, so that the script will proceed with next line.

How can we automate it , we don't get response the process id should be killed.
and the script should proceed with the other data.

Code:
while read line
do
 <java program> $line 

st=`grep -c "{\"status\":false}" <JAR_LOG>
if [ $st -gt 0 ]; then
echo "${USRNAME}" >> $FAILURE_IDS_FILE
else
echo "${USRNAME}" >> $SUCCESS_IDS_FILE
fi
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Killing a process that takes too long

Hello, I have a C program that takes anywhere from 5 to 100 arguments and I'd like to run it from a script that makes sure it doesnt take too long to execute. If the C program takes more than 5 seconds to execute, i would like the shell script to kill it and return a short message to the user. ... (3 Replies)
Discussion started by: WeezelDs
3 Replies

2. UNIX for Advanced & Expert Users

how to check how long the process has been running.

I have a requirement to check how long a process is running on unix system.If i use ps -ef i am getting the following message guest 2453638 1998920 0 16:16:05 - 0:00 dsapi_slave 9 8 0 but this is showing only time not the date.Can any one please advice me any script to find out how... (2 Replies)
Discussion started by: ukatru
2 Replies

3. UNIX for Advanced & Expert Users

How to check since when (for how long) a particular process is running ?

How do I check if a particular process is running from a certain date and time ? (2 Replies)
Discussion started by: hpuxlxboy
2 Replies

4. UNIX for Dummies Questions & Answers

killing 300 process at the same time

Here's the scenario i have this servd process i want to kill, but i want to kill it one time. bash-2.03# ps -ef | grep servd | grep User123 | wc -l 300 bash-2.03# ps -ef | grep servd | grep User123 | more User123 2007 2006 0 03:17:09 pts/12 0:00 /usr/bin/su - User123 -c ssh... (2 Replies)
Discussion started by: hrist
2 Replies

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

6. UNIX Desktop Questions & Answers

Killing a process if it is not using any cpu time

Hi i am a newbie thanks in advance i have a process which keeps on running but doesn't use any CPU time and doesn't do the functionality which it is suppose to do . If i kill the process and start the process again then the process kicks in and starts using CPU time and continues to do its... (3 Replies)
Discussion started by: nick1982
3 Replies

7. UNIX for Dummies Questions & Answers

Killing a process which is running in different server

Consider two servers tst01 and tst02. i need to log in tst01 and check for the processes which run in tst02. then based on pid , i need to kill that process. is it possible to achieve? I am able to connect to tst02 using ftp. But the problem is, if i use ps it says invalid command. ... (3 Replies)
Discussion started by: pandeesh
3 Replies

8. UNIX Desktop Questions & Answers

Automatically killing a process if it doesn't use any CPU time

Hi, I'm new to Linux. I have a windows server that run many processes on it. In some cases the processes doesn't exit properly or just stop working and the process needs to be killed. I was wondering how i can automatically (couple of times a day) check which process doesn't use any CPU... (3 Replies)
Discussion started by: ramikom
3 Replies

9. Shell Programming and Scripting

Kill long running script, if it crosses the threshold time

Hi, I need a script to kill the process if it running for long time. Inputs for the scripts: 1.test.sh (will be running fron cron scheduler) 2.1 hr (ie threshold_time - if the test.sh is running for more than 1 hr test.sh has to kill) Thanks, Divya (1 Reply)
Discussion started by: Divya Nochiyil
1 Replies

10. Shell Programming and Scripting

Killing a bash process and running the second part of script

I want to run a script that calls remote ssh and if it gets hung, I want to be able to kill that part of the script and run another command in the script for example I have a statement like this: if ]; then export tapes=$(for tape in $(su - nacct -c 'ssh remote1 "cat... (1 Reply)
Discussion started by: newbie2010
1 Replies
KILLPROC(8)                                                    The SuSE boot concept                                                   KILLPROC(8)

NAME
Killproc - Send signals to processes by full path name SYNOPSIS
killproc [-vqLN] [-g|-G] [-p pid_file] [-i ingnore_file] [-c root] [-t <sec>] [-<SIG>] /full/path/to/executable killproc -n [-vq] [-g|-G] [-t <sec>] [-<SIG>] name_of_kernel_thread killproc [-vq] [-g|-G] [-t <sec>] [-<SIG>] basename_of_executable killproc -l SYNOPSIS LSB 3.1 killproc [-p pid_file] /full/path/to/executable [-<SIG>] DESCRIPTION
killproc sends signals to all processes that use the specified executable. If no signal name is specified, the signal SIGTERM is sent. If this program is not called with the name killproc then SIGHUP is used. Note that if no signal is specified and the program killproc does not terminate a process with the default SIGTERM the signal SIGKILL is send after a few seconds (default is 5 seconds, see option -t). If a program has been terminated successfully and a verified pid file was found, this pid file will be removed if the terminated process didn't already do so. killproc does not use the pid to send a signal to a process but the full path of the corresponding program which is used to identify the executable (see proc(5)). Only if inode number (/proc/<pid>/exe) and full path name of the executable (/proc/<pid>/cmdline) are unavail- able or if the executable has changed its zeroth argument, killproc uses the base name (/proc/<pid>/stat) to identify the running program. Note that if the option -n for kernel thread is given, only (/proc/<pid>/stat) is used. For this case an existing symbolic link (/proc/<pid>/exe) indicates that the <pid> is not a kernel thread. The last variant of the killproc call is only with the basename of the executable. This is required by the Linux Standard Base Specifica- tion (LSB). Note that this disables the comparision of the inodes of the executable and the information found within the proc table (see proc(5)). This implies that if no pid file is found it may happens that programs or script with the same base name will killed instead. killproc tries to determine the pid of its parent and pid of the parent of its parent to not to kill those two processes. Extended functionality is provided by the -p pid_file option (former option -f changed due to the LSB specification). If this option is specified, killproc tries to send the signal to the pid read from this file instead of from the default pid file (/var/run/<basename>.pid). If the pid_file does not exist, killproc assumes that the daemon is not running. It is possible to use a process identity number instead of a pid file. For the possibility of having two different sessions of one binary program, the option -i ignore_file allows to specify a pid file which pid number is used to ignore all processes of corresponding process session. The option -v turns on verbosity about which signal is being sent. The option -q is ignored for compatibility with older versions. If the option -G is used, the signal will not only sent to the running executable, but also to all members of the session that the specified exe- cutable leads. Whereas the option -g the signal sends to the group including the executable. If unsure use -G. REQUIRED
/full/path/to/executable or name_of_kernel_thread Specifies the executable to which the signal should be sent, or alternatively, if the option -n is used, the name of the kernel thread. This argument is always required. OPTIONS
-G Sends the signal to all session followers (children) of the identified process. -g Sends the signal to all members of the session including the identified process. Note that usually the option -G should be used. -L This option causes symlinks to be followed, as the like-named option in ls(1). Note: for the file name the original name of the program is used instead of the name of the symbolic link. -p pid_file (Former option -f changed due to the LSB specification.) Use an alternate pid file instead of the default (/var/run/<base- name>.pid). If the pid_file does not exist, killproc assumes that the daemon is not running. It is possible to use a process iden- tity number instead of a pid file. -i ignore_file The pid found in this file is used as session id of the same binary program which should be ignored by killproc. -c root Change root directory to root for services which have been started with this option by startproc(8). -n This option indicates that a kernel thread should be signaled. In this case not the executable with its full path name is required but the name of the kernel thread. -N With this option the location of the executable is checked about NFS file system and if true the stat(2) system call is not applied on the exe symbolic link under /proc(5). Otherwise killproc could be locked if the corresponding NFS server is currently not online or available. This implies that the inode number check between the exectuable on the command line and the exectuable of the exec symbolic link will be skipped. -<SIG> Signals can be specified either by name (e.g. -HUP, -SIGHUP) or by number (e.g. -1). -t<sec> The number <sec> specifies the seconds to wait between the sent signal SIGTERM and the subsequentially signal SIGKILL if the first SIGTERM does not show any result within the first few milli seconds. This defaults to 5 seconds. -q This option is ignored. -v Be more verbose. -l This option list all available signals and some of their synonyms by their number and signal names to standard out. and exits. EXAMPLES
killproc -TERM /usr/sbin/sendmail sends the signal SIGTERM to the running sendmail process. If a pid file sendmail.pid exists in /var/run/ then the pid from this file is being used after verification to terminate the sendmail process. Other running processes are ignored. killproc -p /var/myrun/lpd.pid -TERM /usr/sbin/lpd sends the signal SIGTERM to the pid found in /var/myrun/lpd.pid if and only if this pid belongs to /usr/sbin/lpd. If the named /var/myrun/lpd.pid does not exist, killproc assumes that the daemon of /usr/sbin/lpd is not running. The exit status is set to 0 for successfully delivering the given signals SIGTERM and SIGKILL otherwise to 7 if the program was not running. It is also suc- cessful if no signal was specified and no program was there for Termination because it is already terminated. EXIT CODES
The exit codes have the following LSB conform conditions: 0 Success or program was not running (no signal specified) 1 Generic or unspecified error 2 Invalid or excess argument(s) 4 Insufficient privilege(s) 5 Program is not installed 7 Program was not running to receive the specified signal In some error cases, diagnostic output is sent to standard error, or, if standard error is not available, syslogd(8) is being used. NOTE
killproc is a replacment for the Bourne shell function killproc found in the widely used SysVinit package of Miquel van Smoorenburg, <miquels@cistron.nl>. BUGS
Identifying a process based on the executable file and the corresponding inode number only works if the process stays alive during kill- proc's execution. Impure executables like shell scripts (the inode number of the shell is not identical to that of the script) and programs rewriting their zeroth argument may not be identified by a file name. Killproc isn't able to signal processes being in the zombie state. Zombies are processes which arn't alive but listed in the process table to have the exit status ready for the corresponding parent processes. FILES
/proc/ path to the proc file system (see proc(5)). /etc/init.d/ path to the SuSE boot concept script base directory as required by the Linux Standard Base Specification (LSB) (see init.d(7)). SEE ALSO
startproc(8), checkproc(8), insserv(8), init.d(7), kill(1), skill(1), killall(8), killall5(8), signal(7), proc(5). COPYRIGHT
1994-2005 Werner Fink, 1996-2005 SuSE GmbH Nuernberg, Germany. AUTHOR
Werner Fink <werner@suse.de> 3rd Berkeley Distribution Nov 10, 2000 KILLPROC(8)
All times are GMT -4. The time now is 11:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy