service; ps & grep help
Bill Davidsen
davidsen at tmr.com
Mon Sep 8 00:48:22 UTC 2008
James Pifer wrote:
> I could use a little help with ps and grep. When running a command like:
>
> # ps -ewf | grep sendmail
> root 2730 1 0 Jul14 ? 00:00:01 sendmail: accepting connections
> smmsp 2739 1 0 Jul14 ? 00:00:00 sendmail: Queue runner at 01:00:00 for /var/spool/clientmqueue
> root 6500 6362 0 07:51 pts/3 00:00:00 grep sendmail
>
> Is there any way to run this command and get these results, but exclude
> the actual grep itself, which is the last line?
>
> A little background, I have a java based application that I've used a
> custom start and stop script for. Basically the stop script does:
> stop() {
> for pid in `ps -efww | grep myapp | grep -v grep | cut -b 10-15`;do
> #echo $pid
> kill -9 $pid
> done
> RETVAL=$?
> return $RETVAL
> }
>
> This has worked for years, but for some reason it has stopped working. I
> think it may be because the process is killing itself before it kills
> the app?
>
> I assume the correct way to do this is store the pid in a file that you
> reference, but I haven't figured out how to do that yet.
It is the right way to do this, I can't imagine doing it reliably any
other way.
sleep 10 & echo $! >sleep.pid
Modify to suit your needs. Note: you want to do it the simple way or get
very tricky, bash thinks ! is shell history and does amusing things when
you get just a little tricky. For example:
sleep 10 & echo "Started $!"
doesn't do what you expect.
>
> Any help is appreciated.
>
> Thanks,
> James
>
>
--
Bill Davidsen <davidsen at tmr.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
More information about the fedora-list
mailing list