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@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@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines