一個服務的例子 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