#!/sbin/runscript NICENESS="1" YACY_HOME=/opt/yacy YACY_USER=yacy JAVA_OPTIONS="-Xmx128M" depend() { need net } cd $YACY_HOME JAVA="$(java-config --java)" CLASSPATH="" test -e lib/ && for N in `ls -1 lib/*.jar`; do CLASSPATH="$CLASSPATH$N:"; done test -e libx/ && for N in `ls -1 libx/*.jar`; do CLASSPATH="$CLASSPATH$N:"; done CLASSES="${JAVA_OPTIONS} -classpath classes:htroot:$CLASSPATH" if [ -n "${NICENESS}" ] ; then NICE="nice -n ${NICENESS}" fi start() { ebegin "Starting yacy" # without logging in file ${NICE} sudo -u ${YACY_USER} ${JAVA} ${CLASSES} yacy &> /dev/null & # with logging in file (debugging) #${NICE} sudo -u ${YACY_USER} ${JAVA} java ${CLASSES} yacy &> yacy.log & eend $return } stop() { ebegin "Shutting down yacy" ${NICE} sudo -u ${YACY_USER} ${JAVA} ${CLASSES} yacy -shutdown &> /dev/null max=`grep "^maxWaitingWordFlush=" DATA/SETTINGS/httpProxy.conf | cut -d "=" -f 2` wait=`expr \( ${max} + 1 \) / 2` einfo "Info: maxWaitingWordFlush=${max}" einfon "Waiting ." cnt=0 while ( ps aux | grep -v 'grep' | grep -- "${CLASSES}" &> /dev/null ) do cnt=`expr $cnt + 1` if [ $cnt -gt ${wait} ] then eend 1 "Failed." break fi sleep 2 echo -n "." done echo "done." eend $? }