一個服務的例子
Java代碼
#!/bin/bash
#
# memcached Init file for starting and stopping
#
# chkconfig: 35 80 30
# description: memcached startup script
# Source function library.
. /etc/rc.d/init.d/functions
MEMCACHED_OWNER="root"
MEMCACHED_HOME=/opt/App/memcached
MEMCACHED_BIN=$MEMCACHED_HOME/bin
MEMCACHED_PID=$MEMCACHED_HOME/memcached11311.pid
MEMCACHE_PORT=11311
function_check_pid_file()
{
if [ -f $MEMCACHED_PID ];
then
echo "PID has locked in $MEMCACHED_PID, Script Exit."
exit 1
fi
}
function_stoping_check()
{
if [ -f $MEMCACHED_PID ];
then
kill -0 `cat $MEMCACHED_PID` &>/dev/null
ret=$?
if [ $ret -eq "0" ];
then
return "0"
else
echo "memcached isn't running but the PID file $MEMCACHED_PID exist. You should delete this file."
exit 1
fi
else
echo "NO PID file $MEMCACHED_PID exist."
exit 1
fi
}
case "$1" in
start)
function_check_pid_file
echo -n $"Starting memcached: "
su - $MEMCACHED_OWNER -c "$MEMCACHED_BIN/memcached -d -m 256 -p $MEMCACHE_PORT -u root -P $MEMCACHED_PID -c 5000"
echo "[OK]"
;;
stop)
function_stoping_check
echo -n $"Stopping memcached: "
su - $MEMCACHED_OWNER -c "kill `cat $MEMCACHED_PID` "
echo "[OK]"
trap "rm -f $MEMCACHED_PID" EXIT
;;
*)
echo $"Usage: $0 {start|stop}"
esac
Java代碼
CATALINA_PID=/opt/deploy/qa-venus/tomcat.pid