Der Jetty Webserver in der Version 7.0.2 kommt mit automatischen Deploys von großen WAR-Files nicht zurecht. Dauert der Upload der WAR-File länger als das Rescaninterval des Jetty-WAR-Deployers, so stürzt die Java-VM ab. Das liegt wieder mal an einer Linux-Lib für die Dekomprimierung der WAR-Files. Da der Jetty Webserver keine Exception schmeißt sondern samt VM untergeht, gibt es an der Stelle auch keine Chance eine Exception zu fangen, oder einen Log des Fehlers zu sehen.
Mein Workaround ist ein Watchdog Script welches auf den Jetty aufpasst. Mit dem Script wird jede Minute geschaut, ob der Jetty noch läuft. Falls der Server nicht läuft aber eine Jetty PID existiert, wird der Jetty gestartet. Falls der Server nicht läuft und keine PID existiert, wird der Jetty nicht gestartet, da er dann wohl absichtlich gestoppt wurde.
#!/bin/bash
start="/etc/init.d/jetty start"
check="opt/jetty/start.jar"
pid="/var/run/jetty.pid"
# check if the pid file is in place.
if [ -f $pid ]; then
found=`ps -ef|grep -v grep|grep ${check}|awk '{print $8}'`
if [ ! -s found ]; then
${start}
exit
fi
fi
exit


Deine found Zeile mit dem if geht einfacher:
stat /proc/`cat $pid` >/dev/null 2>&1 && ${start}