  | |  | shell script to count httpd processes | shell script to count httpd processes 2005-03-14 - By Steve Kozakoff
Back I would recommend looking for the full path, in case (like me) you have
other things with the string "httpd " in the name.
for i in `ps -afe | grep /usr/sbin/httpd | grep -v grep | awk '{print
$2} '`
do
COUNT=$((COUNT+1))
done
echo $COUNT
(Another) Steve
> > > steve@(protected) 3/14/2005 15:35:03 > > >
At 01:43 PM 3/14/2005, you wrote:
> > I am trying to create a shell script with /bin/sh that will
> > count how many httpd processes are running at the time.
> > This is how it would look as a perl script:
> > ---start of script---
> > #!/usr/bin/perl
> > $count = 0;
> > @(protected) = (`ps -afe | grep httpd | grep -v grep`);
> > foreach $entry (@(protected)) {
> > $count++;
> > }
> > print "$count\n ";
> > ---end of script---
> >
> > I am trying to do this in an sh script. Partly for learning
> > partly because I want to do some other things to, but can
> > only know how to do them in a shell script. Any help would
> > be greatly appreciated.
>
>The following shell script should do the trick:
>
>--- start of script ---
>#!/bin/bash
>
>COUNT=`ps -aef | grep httpd | grep -c -v grep`
>
>echo $COUNT
>--- end of script ---
>
>If the reason for your question is to understand how to use a for
loop, the
>following script will also work:
>
>--- start of script ---
>#!/bin/bash
>PROCIDLIST=`ps -aef | grep httpd | grep -v grep | awk '{print $2} '`
>for PROCID in $PROCIDLIST
>do
> COUNT=$((COUNT+1))
>done
>
>echo $COUNT
>--- end of script
>
>Please note there is another syntax for the 'for ' command, which looks
like
>the following:
>----
>for (( statement1; statement2; statement3))
>do
> statement block
>done
>----
>The above 'for ' syntax works like the 'for ' statement in C.
Steve, Brian and Michael.
Thank you all for your responses. I had tried the wc -l
option
and couldn 't get it to work. Figured it was because it was for files.
It
was just because I tried it in every way but the correct way.
Michael
You gave me just what I was looking for. A little knowledge
of
the for loop. Was hoping for a loop that would actually count the
lines
and not the words though. But your awk command helped me there. I
will
continue hunting for an answer to my "learning question " where I am
just
trying to find out how to count whole lines in a shell script
variable. with a loop internally to the script without the wc
command.
Thanks
Steve
--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@(protected)?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list
--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@(protected)?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list
|
|
 |