How to generate a 'kill' list


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users How to generate a 'kill' list
# 1  
Old 04-30-2008
How to generate a 'kill' list

Hi,

I want to write a script which can generate a kill list for killing process, program name start with f60.., which have been running for more than 8 hours, the list output should looks like:

kill -9 4444176
kill -9 4674520
kill -9 4454180
kill -9 4994523

Can anyone help how to write it?

Thanks!
Victor Cheung
# 2  
Old 04-30-2008
Code:
ps --suitable=options | awk '$7 ~ /^[f]60/ && $5 > 8 { print $1 }' | xargs kill

The "suitable options" and the field numbers to use in the awk script depend on which platform you are on. Consider this pseudo-code.

Are you sure you understand the consequences of "kill -9"? You should use a less drastic signal if at all possible.
# 3  
Old 04-30-2008
Here's something for Linux.

Code:
ps aux | awk '$11 ~ /(^|\/)[f]60/ { split ($10,t,/:/); if (t[1] > 8) print $2 }'

# 4  
Old 04-30-2008
Hi Era,

I use the following in AIX :

ps aux | awk '$11 ~ /(^|\/)f60/ { split ($9,t,/:/); if (t[1] > 8) print $2 }'

and it return:

4468962

and I grep the process:
root@lkmprod11i:/home/oracle/victor> ps -ef|grep 4468962
appl115 4468962 6123696 0 09:05:04 - 0:00 f60runm webfile=5,27368,lkmprod11i_9002_PROD11i
root 9077560 10519380 0 15:15:38 pts/0 0:00 grep 4468962

The program start time is 09:05 and the system current time is 15:15, it is less then 8 hours long, it should not be returned, can you please help and review? Thanks!

On the other hand, I have to add one more condition to it, if the process id or parent process id is 1 then don't let it returned, how to do that?

Thanks!
Victor Cheung

Last edited by victorcheung; 04-30-2008 at 04:12 AM..
# 5  
Old 04-30-2008
The PPID is not visible in the ps aux output, you might need different options to get that column also. Then it should be a trivial problem to add '&& $3 > 1' with the correct field number of course before the opening curly.

You want the [f] with the square brackets, otherwise you risk to kill the script itself (in theory, mostly, I guess, in the current scenario; but what if you repurpose the script later? Better make it right).
# 6  
Old 04-30-2008
Hi Era,

Sorry, I have edited my post:

I use the following in AIX :

ps aux | awk '$11 ~ /(^|\/)f60/ { split ($9,t,/:/); if (t[1] > 8) print $2 }'

and it return:

4468962

and I grep the process:
root@lkmprod11i:/home/oracle/victor> ps -ef|grep 4468962
appl115 4468962 6123696 0 09:05:04 - 0:00 f60runm webfile=5,27368,lkmprod11i_9002_PROD11i
root 9077560 10519380 0 15:15:38 pts/0 0:00 grep 4468962

The program start time is 09:05 and the system current time is 15:15, it is less then 8 hours long, it should not be returned, can you please help and review? Thanks!


Victor Cheung
# 7  
Old 04-30-2008
Check man ps for an option which list the actual run time. (Apparently you want wall clock time, not CPU time -- that might not be directly available. Then you need to do some time calculations in awk, which doesn't sounds like much fun.)
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Generate list of letters

Heyas I want to list passed arguments and make an incrementing 'marker'. That 'marker' should be a letter between a-z, in proper order. I'm not aware of a seq pendant, so i tried it with this: C=141 list="" while ];do printf \\$C list+=" \\$C" C=$((C+1)) done echo... (3 Replies)
Discussion started by: sea
3 Replies

2. UNIX for Advanced & Expert Users

Kill a list of processes

I am trying to kill a list of processes. I have found these two ways to list a group of process id's on a single line. How would I go about killing all of these processes all on one line? $ ps aux | grep 6243 | grep "a.out" | awk '{printf "%s ",$2}'ps aux | grep 6243 | grep "a.out" | awk... (8 Replies)
Discussion started by: cokedude
8 Replies

3. Shell Programming and Scripting

Generate list of directories that a user has access to

I manage an AIX OS 7.1 system on IBM Power 770. I want to find out which directories/folders a particular user has read/write access to. How can I cleanly create a list of all directories on the system that a user has access to.. Does this make sense? Thanks in Advance, NEWB:rolleyes: (3 Replies)
Discussion started by: code911
3 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. UNIX for Dummies Questions & Answers

Generate list of deleted files

I copied all JPEGs from my laptop to an external drive using find . -name "*.jpg" -exec cp '{}' ./media/Backup/pictures \; And then deleted all of them from my laptop. Now, I realize that I need the folder path of all the original JPEGs as the path has the important information. I dont... (1 Reply)
Discussion started by: eshwaconsulting
1 Replies

6. Shell Programming and Scripting

Generate a change list of files/dir

Is there a tool that can diff a directory and generate a change list of files in that directory based on a previous snapshot on the directory? For example /etc/a.txt:changed /etc/b.txt:removed /etc/c.txt:added Thanks! (1 Reply)
Discussion started by: overmindxp
1 Replies

7. Shell Programming and Scripting

How to generate the list?

Reference post, https://www.unix.com/shell-programming-scripting/131307-incrementing-twist-please-help.html , I can generate a word list easily, by echo or for loop. For example, with the echo command and word expect, I can list all 6 letters possibility (6X6X6X6X6X6=46656) echo... (6 Replies)
Discussion started by: rdcwayx
6 Replies

8. Shell Programming and Scripting

Script to generate a list of number

How can I generate a list of numbers and place all of these numbers in a line-by-line into a file. I am new to scripting actually. 0501000000 to 0509999999 i.e. 0501000000 0501000001 ...... 0509999999 set 02 0551000000 to 0559999999 i.e. 0551000000 0551000001 ...... 0559999999 ... (3 Replies)
Discussion started by: noo
3 Replies

9. Shell Programming and Scripting

how to generate a random list from a given list

Dear Masters, Is there an easy way to generate a random list from a give list of names? Let's say, I have a file containing 15000 city name of world(spreadsheet, names in the first column), I would like to randomly pick up 50 cities each time for total 1000 picks. Or doesn't anyone know a... (3 Replies)
Discussion started by: mskcc
3 Replies

10. Shell Programming and Scripting

how to generate a list of files

Hello people I need to find a way to generate a file that contains the names of all *.jpg files that were generated after a specific date The search should start in my current folder and recursively search inner folders It would be best to list the file names one below the other in the output... (3 Replies)
Discussion started by: jasongr
3 Replies
Login or Register to Ask a Question