howto kill x if x is running?

Gary Kline kline at thought.org
Mon Sep 16 05:05:24 UTC 2013


Organization: Thought Unlimited.  Public service Unix since 1986.
Of_Interest: With 27 years  of service  to the  Unix  community.

On Sun, Sep 15, 2013 at 07:56:17AM +0100, Matthew Seaman wrote:
> On 15/09/2013 07:20, Gary Kline wrote:
> 
> > 	I've evidently had too many pain meds; this shelll script should 
> > 	be easy.  say that I have a utility xxx running sometimes.  xxx is
> > 	soaking up a chunk of my load.  I have to use top to find if
> > 	xxx is running, then kill -9 to kill xxx and have a steady load of,
> > 	say, between 0.10 and 0.15.  what's the script that can do this?
> 
> The classic answer to this is that you need to find the pid of your
> 'xxx' process, and then kill it using that.  Some combination of ps(1)
> and grep(1) usually sufficed.
> 
> However nowadays there's the very handy pkill(1):
> 
>     pkill -9 xxx
> 
> Tying that in with the trigger based on system load:
> 
>     #!/bin/sh
> 
>     load=$(sysctl vm.loadavg | cut -d ' ' -f 3)
>     too_high=$(bc -e "$load > 0.15" < /dev/null)
> 
>     if [ $too_high = '1' ]; then
>         pkill -9 xxx
>     fi
> 
> Note the use of bc(1) to compare floating point values -- the built-in
> $((shell arithmetic)) or expr(1) only do integer arithmetic.
> 
> One final point -- instead of killing the xxx process when the load gets
> too high, you could simply renice(1) it to very low priority.  Or even
> better, use idprio(1).
> 
> This won't actually affect the system load values much as 'system load'
> is an average of the number of processes requesting a CPU time slice.
> What it does do is mean that your 'xxx' process is always pretty much
> the last process to get any CPU time -- so everything else should remain
> responsive, and your xxx process will only run when the system is
> otherwise idle.
> 
> 	Cheers,
> 
> 	Matthew


	thanks very much, gents.  no, it wasnt my med; it was that I slept
	ttoo much:: Old age.  "pkill -9 utility"  works.  the 0.15 or 0.10
	were arbitrrary.  the default load adverage should be even less
	since the box is just sitting here!  ...well, it's replying to 
	lookup, I suppose.  tx again, 

	gary


> -- 
> Dr Matthew J Seaman MA, D.Phil.
> 
> PGP: http://www.infracaninophile.co.uk/pgpkey
> JID: matthew at infracaninophile.co.uk
> 



-- 
 Gary Kline  kline at thought.org  http://www.thought.org  Public Service Unix
             Twenty-seven years of service to the Unix community.
                            http://www.thought.org/HOPE




More information about the freebsd-questions mailing list