#!/bin/bash ok=0 lastdate2=0 lastdate1=0 lastdate0=0 while [ "$ok" == 0 -a ! -s /var/run/rebootctl ]; do lastdate3=$lastdate2 lastdate2=$lastdate1 lastdate1=$lastdate0 lastdate0=`date +%s` if [ `expr $lastdate0 - $lastdate3` -lt 20 ]; then echo "X server respawning too fast [ $lastdate0 : $lastdate1 : $lastdate2 : $lastdate3 ] :(" while [ true ]; do sleep 10; done exit 1 fi X $@ ok=$? done