Date: Fri, 31 Oct 2008 11:30:48 -0600 (MDT) From: "Peter" <fbsdq@peterk.org> To: "Eduardo Meyer" <dudu.meyer@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: Script-friendly (parseble) ps(1) output? Message-ID: <64567.216.241.167.212.1225474248.squirrel@webmail.pknet.net>
next in thread | raw e-mail | index | archive | help
>Hello, > >I need to write a cgi script which will print the output from ps(1) in >a table (html), so the average-operator can click on a KILL link and >the cgi will send the selected signal. > >I need to add one ps information per column in a table (html), >however, I found ps(1) output to be too hard to parse. There is no >separator. I believed \t was the separator but its not. > >The ps(1) command I need to use is: > >ps -ax -o pid -o user -o emul -o lstart -o lockname -o stat -o command > >Since many of those args use [:space:] in the output, I can not use >[:space:] as a separator. >Sadly, `-o fiend='value'` will only format the HEADER output, not the >values. >Ive got no clue what to do, can someone enlight me? >Thank you all in advance. -- >=========== >Eduardo Meyer >pessoal: dudu.meyer@gmail.com >profissional: ddm.farmaciap@saude.gov.br Here is something simple, and you can wrap the HTML around it...; poshta:$ps axuww | while read USER PID CPU MEM VSZ RSS TT STAT STARTED TIME COMMAND; do echo $PID $CPU $USER $COMMAND;done |head -3 PID %CPU USER COMMAND 11 89.6 root [idle] 5127 2.9 qscand spamd child (perl5.8.8) the read ignores all white space...the last variable in that 'while read' will hold everything beyond it... ie; poshta:$ps axuww| while read USER PID CPU MEM VSZ RSS TT STAT STARTED TIME; do echo $PID $CPU $USER $TIME;done |head -3 PID %CPU USER TIME COMMAND 11 77.9 root 138080:11.91 [idle] 13607 5.0 qscand 0:09.12 spamd child (perl5.8.8) etc.etc... ]Peter[
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?64567.216.241.167.212.1225474248.squirrel>