#!/bin/bash
#chkconfig:2345 80 05
#description:audiodna service
RETVAL=0
STARTTIMEOUT=120
STOPTIMEOUT=60
prog="ttserver"
ttserverpidfile="/storage/ttserver/ttserver.pid"
start(){
echo -e "Audiodna service is now starting:\n"
echo -e "starting ttserver...\n"
rm -f /storage/ttserver/ttserver.pid
/usr/local/bin/ttserver -host 127.0.0.1 -port 1978 -thnum 8 -dmn -pid /storage/ttserver/ttserver.pid -log /storage/ttserver/ttserver.log -le -ulog /ttserver/ -ulim 128m -sid 1 -rts /ttserver/ttserver.rts /storage/ttserver/database.tch
sleep 1
echo -e "starting solr...\n"
cd /usr/local/src/echoprint/echoprint-server/solr/solr/
nohup java -Dsolr.solr.home=/usr/local/src/echoprint/echoprint-server/solr/solr/solr/ -Djava.awt.headless=true -jar start.jar > /solr.log 2>&1 &
sleep 10
echo -e "starting web.py...\n"
cd /usr/local/src/echoprint/echoprint-server/API
nohup python api.py 8080 > /webpy.log 2>&1 &
sleep 5
}
stop(){
echo -e "Audiodna service is closing:"
if [ ! -f "$ttserverpidfile" ]; then
# not running; per LSB standards this is "ok"
echo "ttserver not running"
return 0
fi
TTSERVERPID=`cat "$ttserverpidfile" 2>/dev/null`
if [ -n "$TTSERVERPID" ]; then
/bin/kill "$TTSERVERPID" >/dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
TIMEOUT="$STOPTIMEOUT"
while [ $TIMEOUT -gt 0 ]; do
/bin/kill -0 "$TTSERVERPID" >/dev/null 2>&1 || break
sleep 1
let TIMEOUT=${TIMEOUT}-1
done
if [ $TIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to stop MySQL Daemon."
ret=1
action $"Stopping $prog: " /bin/false
else
rm -f $lockfile
rm -f "$socketfile"
fi
else
ret=4
fi
else
# failed to read pidfile, probably insufficient permissions
action $"Stopping $prog: " /bin/false
ret=4
fi
echo -e "ttserver closed\n"
webport=`netstat -tln | grep 8080`
if [ "$webport" != " " ]; then
kill `lsof -t -i:8080` >/dev/null 2>&1
echo -e "web.py closed\n"
else
echo -e "web.py not running\n"
fi
solrport=`lsof -i :8502`
if [ "$solrport" != " " ]; then
kill `lsof -t -i:8502` >/dev/null 2>&1
echo -e "solr closed\n"
else
echo -e "solr not running\n"
fi
return $ret
}
restart(){
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
esac
exit $RETVAL
sservice audiodna start/stop/restart 管理服务
Ø 运行chmod 777 -R /etc/rc.d/init.d/audiodna,使之可直接执行
Ø 运行chkconfig --add /etc/rc.d/init.d/audiodna,把该服务添加到配置当中
Ø 运行chkconfig audiodna on / off 开启自动启动/不启动服务
Ø 运行chkconfig --list audiodna,可以查看该服务进程的状态
Ø 运行chkconfig --level 2345 audiodna on 更改级别