0

Debian システムを使用していて、myapplication の init 開始スクリプトが必要です。スクリプトには、さまざまな (start|stop|restart) パラメーターのケース本体があります。スクリプトが起動時に開始されると、すべてのパラメーターを実行するため、無限ループに入ります。これが私のスクリプトです

#! /bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO


 PATH should only include /usr/* if it runs after the mountnfs.sh script
 PATH=/sbin:/usr/sbin:/bin:/usr/bin
 DESC="Studio-service"
 NAME=application-studio
 automatey_nodetype=development
 vmargs="-DencryptorCredentials=currentPass|oldPass|1 -Xms512m -Xmx2048m
 - DLOGGING_HOME=configuration/ -Djava.io.tmpdir=/var/tmp 
 - Dorg.osgi.service.http.port=8081 -Declipse.ignoreApp=true 
 -Dosgi.noShutdown=true -Xdebug -Xnoagent -Djava.compiler=NONE 
  -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n 
  -Djava.net.preferIPv4Stack=true -DapplyDbMigrations=true -XX:MaxPermSize=128m 
  -XX:- HeapDumpOnOutOfMemoryError "
 SCRIPTNAME=/etc/init.d/$NAME
 DAEMON=start.sh
 STUDIO=/opt/application


case "$1" in
start)  
    set -e -x
    cd /opt/application
    ./firewall.sh
    ${STUDIO}/${DAEMON} ${automatey_nodetype} "$echo $vmargs"

;;
stop)
    screen -SX application-studio kill
;;


restart)
    set -e -x
    ${STUDIO}/${DAEMON} ${automatey_nodetype} "$echo $vmargs"
;;
esac

出口 0

4

1 に答える 1

1

起動時に、init スクリプトがstartパラメーターを使用して実行されました。何も指定する必要はありません。次の行にコメントする必要があるかもしれません。

mountnfs.sh スクリプトの後に実行する場合、PATH には /usr/* のみを含める必要があります。

于 2012-10-24T17:11:06.537 に答える