Hallo @ll
ich würde gerne folgendes erreichen
tail -f meine.log | grep MeinERROR
ein ergebniss liefert, soll die PID ausgelesen werden
PID=`lsof -i tcp:80 | awk '{print $2}'`
und dann anschließend ein Treaddump gezogen werden, bis die PID nicht mehr gibt, alle 5 sekunden
kill -3 PID
hat jemand eine Idee wie ich das ganze in ein kurzem Script bekomme
Danke
Gruß HelsAett
Logmeldung PID Tread Dump
Re: Logmeldung PID Tread Dump
hab was gefunden und meinen bedürfnissen angepasst
Code: Alles auswählen
#!/bin/bash
ignore_sig() {
sleep 1
}
trap ignore_sig SIGQUIT SIGHUP SIGTERM EXIT
issue_start="false"
log_file="logfile.log"
# collect info when issue starts
while [ $issue_start = "false" ]; do
ERROR=`grep -c MyErrorMessages $log_file`
if [ $ERROR -eq 0 ]; then
echo "everything is fine, waiting 5 seconds"
sleep 5
else
issue_start=true
echo "fucking issue comes up"
fi
done
# collect thread dumps
while [ true ]; do
PID=`lsof -i tcp:8080 | grep LISTEN | awk {'print $2'}`
if [ -z $PID ]; then
break
echo "fucking process died"
else
echo "create thread dump"
kill -3 $PID
sleep 30
fi
done
exit 0