Kill a PID using script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Kill a PID using script
# 8  
Old 11-07-2011
Yes, File.dat is existing in the current directory where this script is executed. The error is occuring when it is executed, runs for few minutes without any issues and then throws that error.
# 9  
Old 11-07-2011
May be the file is getting deleted or moved by someother process when the size threshold is reached... thats why you are getting the error after sometime...
I took the liberty to clean up your code and made a few changes...
Code:
#!/bin/sh
file="File.dat"
size=60000
engineEXECUTE()
{
   sleep 2
   echo "In the engine function..."
   killENGINE
}
checkFILESIZE()
{
   sleep 2
   test -f $file || echo "$file not found" && exit 1
   FILESIZE=$(stat -c %s $file)
   if [ $FILESIZE -gt $size ]
   then
      echo "$file size is greater than $size..."
      engineEXECUTE
   else
      echo "$file size is less than $size..."
      checkFILESIZE
   fi
}
killENGINE()
{
   sleep 2
   echo "Inside KILLENGINE..."
 
   kill -9 $(pgrep CONTROLFILE)
   if [ $? -eq 0 ]
   then
      echo "CONTROLFILE process killed..."
   else
      echo "CONTROLFILE process not running... Exiting..."
      exit 1
   fi

   checkFILESIZE
}

checkFILESIZE

It is not tested though... And I am assuming "CONTROLFILE" here is a process.

HTH
--ahamed

Last edited by ahamed101; 11-07-2011 at 03:57 PM..
This User Gave Thanks to ahamed101 For This Post:
# 10  
Old 11-07-2011
Appreciate your help ahamed. But I tested this in Ubuntu and it worked without any issue. When i moved the code code to a development linux environment, then this issue is occuring.


Is it that there is an issue with the if statement in my code?


Or if I use your if statement block, it might fix?
# 11  
Old 11-07-2011
My code checks for the file and then goes forward... I suggest you try this code and keep an eye on the file... I strongly believe that File.dat is being manipulated by some other process... Check for the message "File.dat not found" on the screen, that should tell you whats happening...

--ahamed
This User Gave Thanks to ahamed101 For This Post:
# 12  
Old 11-08-2011
The code you provided above probably has a typo in testing for the file existence. So, I removed one pipe symbol and then used the code you mentioned. It did not log any message on to the screen and just exited when I ran the script. But the DAT file was present at that time.

Just an FYI, the dat file is created every time the process runs.

So, I am still getting the error.

Any other change that I can test?
# 13  
Old 11-08-2011
Where was the typo?... You mean in the test statement?... Please paste the error...

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script to report file size, pid and also kill the process

Hi All, Looking for a quick LINUX shell script which can continuously monitors the flle size, report the process which is creating a file greater than certain limit and also kill that process. Can someone please help me on this? (4 Replies)
Discussion started by: vasavimacherla
4 Replies

2. AIX

Kill pid

I created a program to kill long running pid processes. I am getting the following error message: -f command cannot be found. I also want to count the number of pids that are killed and append the results to a text file. I am new to shell script programming. 1.The first part of code... (10 Replies)
Discussion started by: dellanicholson
10 Replies

3. Shell Programming and Scripting

script to kill a pid giving error

Hi, I simply want to kill a running process using a script that read pid from a file and tries to kill it .Getting error as shown below code.. cat $HOME/BackupScript.ksh.run | head -1 | while read pid do ps -p $pid > /dev/null 2>&1 if ; then kill -9 $pid else echo "no running $pid... (5 Replies)
Discussion started by: dhirajdsharma
5 Replies

4. Shell Programming and Scripting

Unix Script -- Suggestions to list and kill PID's sequentially

Hi, I'm trying to write a script where i'm trying to grep the PID and the associated file and list them. Then execute the KILL command sequentially on the listed PID's for ".tra" files ==================================================== ps -aux | grep mine adm 27739 0.2 0.8 1131588... (12 Replies)
Discussion started by: murali1687
12 Replies

5. Shell Programming and Scripting

Kill a Script based on the pid and sleep

I would want to run a code for 1 min and if it doesnt succeed in 1 min..I would want to exit it..I am using the following code...But the script is not going into my code part.It is waiting for 60 secs and then getting killed. The code which is in the while loop actually takes less than 60 secs...... (6 Replies)
Discussion started by: infernalhell
6 Replies

6. Shell Programming and Scripting

grab PID of a process and kill it in a script

#!/bin/sh who echo "\r" echo Enter the terminal ID of the user in use: echo "\r" read TERM_ID echo "\r" ps -t $TERM_ID | grep sh echo "\r" echo Enter the process number to end: echo "\r" read PID echo "\r" kill -9 $PID What this code does is ultimately grab the PID of a users sh... (6 Replies)
Discussion started by: psytropic
6 Replies

7. UNIX for Advanced & Expert Users

KILL without PID

Hellow Experts i have one problem. i run one script in backgroun. and i want to kill that script with only script name..... so what's the solution.. for your info my script name is "testscript" n it contains "sleep 100" thanks.... (16 Replies)
Discussion started by: luckypower
16 Replies

8. Shell Programming and Scripting

KILL PID, intern should kill another PID.

Hi All, In my project i have two process runs in the back end. Once i start my project, and execute the command ps, i get below output: PID TTY TIME CMD 9086 pts/1 0:00 ksh 9241 pts/1 0:02 java 9240 pts/1 0:00 shell_script_bg java with 9241 PID is the main... (4 Replies)
Discussion started by: rkrgarlapati
4 Replies

9. Shell Programming and Scripting

pass pid to kill using script

Hi there, i wonder if anyone can help is there any way that i can write a script that will kill all current ftp processes, for example if ps -ef | grep ftp produces 3 active proceses, then I would like to somehow extract the PID for each one and pass that to kill -9 has anybody done this... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

10. UNIX for Dummies Questions & Answers

Script to kill all child process for a given PID

Is there any build in command in unix to kill all the child process for a given process ID ? If any one has script or command, please let me know. Thanks Sanjay (4 Replies)
Discussion started by: sanjay92
4 Replies
Login or Register to Ask a Question