awk question

Gary Kline kline at tao.thought.org
Wed Apr 11 00:42:01 UTC 2007


On Tue, Apr 10, 2007 at 06:35:33PM -0500, Derek Ragona wrote:
> At 06:17 PM 4/10/2007, Gary Kline wrote:
> >On Mon, Apr 09, 2007 at 06:54:07PM -0700, Rick Olson wrote:
> >> I'm assuming you've already taken care of this, but to answer your
> >> original question in AWK form, you could have done the following:
> >>
> >> ls -l | awk '$8 == 2006 {system("rm " $9)}'
> >>
> >
> >        i'Ll save your snippet to my growing %%% awk file in my ~/HowTo,
> >        thankee much.  I'm in the first stages on a months-long trial on
> >        system tuning.  This, before I'd risk publishing anything.  So
> >        far tho, by upping and lower the NICE prio of various binaries, I
> >        have been able to get more than 70% efficient use out of my older
> >        servers.  ---This *ought* to carry over to my faster machines....
> >
> >        Is tthere a way of using ps -alx | ask to look at nice and if it
> >        is non-zero (the default), to reset it to zero?
> 
> You can easily do some of this using top, such as:
> top -bS 200 | tail -n +9 | awk '{ print $5 }'
> 
> If you want to tweak the nice value you'd need to examine the value and 
> then renice it as long as you are root.  You'd need the PID for that, so 
> here's another example:
> top -bS 200 | tail -n +9 | awk '{ printf("Pid: %d has Nice: %d\n", $1,$5) }'
> 

	Well, I knew there had to be a "static" way to read top.  -bS is
	it.  If NICE is 9, then renice-n -9 pid ought to reset it to 0;
	so in C, the check for nice or "n" would be trivial:

	if (n != 0)
		n = -n;

	In you example, would this be if ($1 != 0) $1 = -$1; 
	then a '{system("renice -n $")};
	or is this disallowed in awk?

	gary



-- 
  Gary Kline  kline at thought.org   www.thought.org  Public Service Unix



More information about the freebsd-questions mailing list