"Kipp, James" wrote:
> I am reading output from a pipe to a command called 'prstat' (like top).
> just wanted to get some ideas on the best way to capture the data i am
> looking for. below is an example of the output:
# INPUTDATA is the filehandle through which you are getting the input
while (<INPUTDATA>) {
chomp;
s/^\s+//;
next if (m/^$/ || (1 .. /^NPROC/));
unless (/^Total/) {
# Assumes the line to stop searching for input starts with Total
my ($user, $mem, $cpu) = (split (/\s+/))[1, 4, 6];
print "user = $user, mem = $mem, cpu = $cpu\n";
}
}
close (INPUTDATA);
>
> --
> PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
>
> 13261 prago 5728K 5240K cpu49 0 0 0:40.04 9.4% cfprsdrv/1
> 20318 oracle 519M 496M cpu46 0 0 35:47.20 3.2% oracle/1
> 12924 prago 1720K 1056K sleep 1 0 0:06.55 1.6% zcat/1
> 21244 oracle 514M 494M sleep 0 0 0:00.01 0.3% oracle/1
> 21107 oracle 526M 507M sleep 0 0 0:00.13 0.3% oracle/1
> 13310 prago 392M 101M sleep 59 0 0:01.07 0.2% syncsort/1
> NPROC USERNAME SIZE RSS MEMORY TIME CPU
>
> 17 prago 1596M 394M 2.9% 0:48.54 11%
> 47 oracle 13G 12G 91% 38:17.25 4.1%
> 5 patrol 36M 23M 0.2% 10:53.17 0.2%
> 11 dbmsys 52M 20M 0.1% 0:00.53 0.1%
> 53 root 173M 113M 0.8% 5:32.40 0.1%
> Total: 208 processes, 875 lwps, load averages: 2.03, 2.04, 2.12
> --
>
> I want to capture some fields after the line starting with NPROC. the
> problem is as you can see is the output columns change format after this
> line. I want to capture the USERNAME MEMORY and CPU.
> any ideas?
>
> thanks
> jim
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]