--- /dev/null
+#!/bin/bash
+
+#Mserver and killall must be in /etc/sudoers
+function kmonet() {
+ sudo killall -TERM Mserver
+ sleep 2
+ sudo killall -9 Mserver
+}
+trap kmonet INT TERM
+
+function do_monet(){
+ while pidof Mserver >/dev/null
+ do
+
+ sudo killall -TERM Mserver
+ sleep 3
+ done
+
+ while ! pidof Mserver >/dev/null
+ do
+ sudo /usr/local/bin/alarm 600 22000000 Mserver --dbinit="module(pathfinder);" >/dev/null 2>&1 &
+ sleep 3
+ done
+ sync
+
+ query="$1"
+ doc="$2"
+ repeat="$3"
+ TIME_MAT=""
+ TIME_COUNT=""
+ TIME_PRINT=""
+ NUM_RESULTS=""
+ for i in `seq 1 "$repeat"`
+ do
+ {
+ read foo
+ read foo
+ read num
+ read foo
+ read foo
+ read tquery
+ read foo
+ read foo
+ } < <(echo "fn:count(fn:doc(\"$doc\")$query)
+" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
+
+ TIME_COUNT="$tquery
+$TIME_COUNT"
+
+ NUM_RESULTS="$num"
+ done
+
+ for i in `seq 1 "$repeat"`
+ do
+ {
+ read foo
+ read foo
+ read tquery
+ read tprint
+ read foo
+ } < <(echo "\>/dev/null
+fn:doc(\"$doc\")$query
+" | mclient -t --interactive 2>&1 | grep -o '[0-9.]*' )
+
+ TIME_MAT="$tquery
+$TIME_MAT"
+
+ TIME_PRINT="$tprint
+$TIME_PRINT"
+
+ done
+
+ while pidof Mserver >/dev/null
+ do
+
+ sudo killall -TERM Mserver
+ sleep 3
+ done
+
+ echo "$TIME_COUNT" | sort -g | head -2 | tail -1
+ echo "$TIME_MAT" | sort -g | head -2 | tail -1
+ echo "$TIME_PRINT" | sort -g | head -2 | tail -1
+ echo $NUM_RESULTS
+}
+
+do_monet "$@"