123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614 |
- #! /bin/sh
- APP_NAME="wrapper-compute-engine"
- APP_LONG_NAME="wrapper-compute-engine"
- WRAPPER_CMD="./wrapper"
- WRAPPER_CONF="../conf/wrapper.conf"
- PRIORITY=
- PIDDIR="."
- PASS_THROUGH=true
- WAIT_AFTER_STARTUP=0
- WAIT_FOR_STARTED_STATUS=true
- WAIT_FOR_STARTED_TIMEOUT=120
- USE_UPSTART=
- PLIST_DOMAIN=org.tanukisoftware.wrapper
-
- if [ -n "$FIXED_COMMAND" ]
- then
- COMMAND="$FIXED_COMMAND"
- else
- COMMAND="$1"
- fi
- if [ `uname -s` = "HP-UX" -o `uname -s` = "HP-UX64" ] ; then
- PATH=$PATH:/usr/bin
- fi
- case $0 in
- /*)
- SCRIPT="$0"
- ;;
- *)
- PWD=`pwd`
- SCRIPT="$PWD/$0"
- ;;
- esac
- CHANGED=true
- while [ "X$CHANGED" != "X" ]
- do
-
- SAFESCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
-
- TOKENS=`echo $SAFESCRIPT | sed -e 's;/; ;g'`
- REALPATH=
- for C in $TOKENS; do
-
- C=`echo $C | sed -e 's;:; ;g'`
- REALPATH="$REALPATH/$C"
-
- while [ -h "$REALPATH" ] ; do
- LS="`ls -ld "$REALPATH"`"
- LINK="`expr "$LS" : '.*-> \(.*\)$'`"
- if expr "$LINK" : '/.*' > /dev/null; then
-
- REALPATH="$LINK"
- else
-
- REALPATH="`dirname "$REALPATH"`""/$LINK"
- fi
- done
- done
- if [ "$REALPATH" = "$SCRIPT" ]
- then
- CHANGED=""
- else
- SCRIPT="$REALPATH"
- fi
- done
- REALDIR=`dirname "$REALPATH"`
- REALDIR=`cd "${REALDIR}"; pwd`
- FIRST_CHAR=`echo $PIDDIR | cut -c1,1`
- if [ "$FIRST_CHAR" != "/" ]
- then
- PIDDIR=$REALDIR/$PIDDIR
- fi
- FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1`
- if [ "$FIRST_CHAR" != "/" ]
- then
- WRAPPER_CMD=$REALDIR/$WRAPPER_CMD
- fi
- FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1`
- if [ "$FIRST_CHAR" != "/" ]
- then
- WRAPPER_CONF=$REALDIR/$WRAPPER_CONF
- fi
- ANCHORFILE="$PIDDIR/$APP_NAME.anchor"
- COMMANDFILE="$PIDDIR/$APP_NAME.command"
- STATUSFILE="$PIDDIR/$APP_NAME.status"
- JAVASTATUSFILE="$PIDDIR/$APP_NAME.java.status"
- PIDFILE="$PIDDIR/$APP_NAME.pid"
- LOCKDIR="/var/lock/subsys"
- LOCKFILE="$LOCKDIR/$APP_NAME"
- pid=""
- PSEXE="/usr/ucb/ps"
- if [ ! -x "$PSEXE" ]
- then
- PSEXE="/usr/bin/ps"
- if [ ! -x "$PSEXE" ]
- then
- PSEXE="/bin/ps"
- if [ ! -x "$PSEXE" ]
- then
- eval echo `gettext 'Unable to locate "ps".'`
- eval echo `gettext 'Please report this message along with the location of the command on your system.'`
- exit 1
- fi
- fi
- fi
- TREXE="/usr/bin/tr"
- if [ ! -x "$TREXE" ]
- then
- TREXE="/bin/tr"
- if [ ! -x "$TREXE" ]
- then
- eval echo `gettext 'Unable to locate "tr".'`
- eval echo `gettext 'Please report this message along with the location of the command on your system.'`
- exit 1
- fi
- fi
- DIST_OS=`uname -s | $TREXE "[A-Z]" "[a-z]" | $TREXE -d ' '`
- case "$DIST_OS" in
- 'sunos')
- DIST_OS="solaris"
- ;;
- 'hp-ux' | 'hp-ux64')
-
- DIST_OS="hpux"
- UNIX95=""
- export UNIX95
- ;;
- 'darwin')
- DIST_OS="macosx"
- ;;
- 'unix_sv')
- DIST_OS="unixware"
- ;;
- 'os/390')
- DIST_OS="zos"
- ;;
- esac
- if [ "$DIST_OS" = "macosx" ]
- then
- OS_VER=`sw_vers | grep 'ProductVersion:' | grep -o '[0-9]*\.[0-9]*\.[0-9]*'`
- DIST_ARCH="universal"
- if [[ "$OS_VER" < "10.5.0" ]]
- then
- DIST_BITS="32"
- else
- if [ "X`sysctl -n hw.cpu64bit_capable`" == "X1" ]
- then
- DIST_BITS="64"
- else
- DIST_BITS="32"
- fi
- fi
- APP_PLIST_BASE=${PLIST_DOMAIN}.${APP_NAME}
- APP_PLIST=${APP_PLIST_BASE}.plist
- else
- DIST_ARCH=
- DIST_ARCH=`uname -p 2>/dev/null | $TREXE "[A-Z]" "[a-z]" | $TREXE -d ' '`
- if [ "X$DIST_ARCH" = "X" ]
- then
- DIST_ARCH="unknown"
- fi
- if [ "$DIST_ARCH" = "unknown" ]
- then
- DIST_ARCH=`uname -m 2>/dev/null | $TREXE "[A-Z]" "[a-z]" | $TREXE -d ' '`
- fi
- case "$DIST_ARCH" in
- 'athlon' | 'i386' | 'i486' | 'i586' | 'i686')
- DIST_ARCH="x86"
- if [ "${DIST_OS}" = "solaris" ] ; then
- DIST_BITS=`isainfo -b`
- else
- DIST_BITS="32"
- fi
- ;;
- 'amd64' | 'x86_64')
- DIST_ARCH="x86"
- DIST_BITS="64"
- ;;
- 'ia32')
- DIST_ARCH="ia"
- DIST_BITS="32"
- ;;
- 'ia64' | 'ia64n' | 'ia64w')
- DIST_ARCH="ia"
- DIST_BITS="64"
- ;;
- 'ip27')
- DIST_ARCH="mips"
- DIST_BITS="32"
- ;;
- 'power' | 'powerpc' | 'power_pc' | 'ppc64')
- if [ "${DIST_ARCH}" = "ppc64" ] ; then
- DIST_BITS="64"
- else
- DIST_BITS="32"
- fi
- DIST_ARCH="ppc"
- if [ "${DIST_OS}" = "aix" ] ; then
- if [ `getconf KERNEL_BITMODE` -eq 64 ]; then
- DIST_BITS="64"
- else
- DIST_BITS="32"
- fi
- fi
- ;;
- 'pa_risc' | 'pa-risc')
- DIST_ARCH="parisc"
- if [ `getconf KERNEL_BITS` -eq 64 ]; then
- DIST_BITS="64"
- else
- DIST_BITS="32"
- fi
- ;;
- 'sun4u' | 'sparcv9' | 'sparc')
- DIST_ARCH="sparc"
- DIST_BITS=`isainfo -b`
- ;;
- '9000/800' | '9000/785')
- DIST_ARCH="parisc"
- if [ `getconf KERNEL_BITS` -eq 64 ]; then
- DIST_BITS="64"
- else
- DIST_BITS="32"
- fi
- ;;
- '2064' | '2066' | '2084' | '2086' | '2094' | '2096' | '2097' | '2098' | '2817')
- DIST_ARCH="390"
- DIST_BITS="64"
- ;;
- esac
- fi
- if [ "$DIST_OS" = "macosx" ]
- then
- if [ -z "$JAVA_HOME" ]; then
- JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
- fi
- fi
- ECHOTEST=`echo -n "x"`
- if [ "$ECHOTEST" = "x" ]
- then
- ECHOOPT="-n "
- else
- ECHOOPT=""
- fi
- gettext() {
- "$WRAPPER_CMD" --translate "$1" "$WRAPPER_CONF" 2>/dev/null
- if [ $? != 0 ] ; then
- echo "$1"
- fi
- }
- outputFile() {
- if [ -f "$1" ]
- then
- eval echo `gettext ' $1 Found but not executable.'`;
- else
- echo " $1"
- fi
- }
- WRAPPER_TEST_CMD=""
- if [ -f "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BITS" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BITS"
- if [ ! -x "$WRAPPER_TEST_CMD" ]
- then
- chmod +x "$WRAPPER_TEST_CMD" 2>/dev/null
- fi
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- outputFile "$WRAPPER_TEST_CMD"
- WRAPPER_TEST_CMD=""
- fi
- fi
- if [ -f "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32" -a -z "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- if [ ! -x "$WRAPPER_TEST_CMD" ]
- then
- chmod +x "$WRAPPER_TEST_CMD" 2>/dev/null
- fi
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- outputFile "$WRAPPER_TEST_CMD"
- WRAPPER_TEST_CMD=""
- fi
- fi
- if [ -f "$WRAPPER_CMD" -a -z "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD"
- if [ ! -x "$WRAPPER_TEST_CMD" ]
- then
- chmod +x "$WRAPPER_TEST_CMD" 2>/dev/null
- fi
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- outputFile "$WRAPPER_TEST_CMD"
- WRAPPER_TEST_CMD=""
- fi
- fi
- if [ -z "$WRAPPER_TEST_CMD" ]
- then
- eval echo `gettext 'Unable to locate any of the following binaries:'`
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-$DIST_BITS"
- if [ ! "$DIST_BITS" = "32" ]
- then
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- fi
- outputFile "$WRAPPER_CMD"
- exit 1
- fi
- if [ "X$PRIORITY" = "X" ]
- then
- CMDNICE=""
- else
- CMDNICE="nice -$PRIORITY"
- fi
- if [ "X$IGNORE_SIGNALS" = "X" ]
- then
- ANCHORPROP=
- IGNOREPROP=
- else
- ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\"
- IGNOREPROP=wrapper.ignore_signals=TRUE
- fi
- # Build the status file clause.
- if [ "X$DETAIL_STATUS$WAIT_FOR_STARTED_STATUS" = "X" ]
- then
- STATUSPROP=
- else
- STATUSPROP="wrapper.statusfile=\"$STATUSFILE\" wrapper.java.statusfile=\"$JAVASTATUSFILE\""
- fi
- if [ -n "$PAUSABLE" ]
- then
- COMMANDPROP="wrapper.commandfile=\"$COMMANDFILE\" wrapper.pausable=TRUE"
- else
- COMMANDPROP=
- fi
- if [ ! -n "$WAIT_FOR_STARTED_STATUS" ]
- then
- WAIT_FOR_STARTED_STATUS=true
- fi
- if [ $WAIT_FOR_STARTED_STATUS = true ] ; then
- DETAIL_STATUS=true
- fi
- LOCKPROP=
- if [ -d $LOCKDIR ]
- then
- if [ -w $LOCKDIR ]
- then
- LOCKPROP=wrapper.lockfile=\"$LOCKFILE\"
- fi
- fi
- prepAdditionalParams() {
- ADDITIONAL_PARA=""
- if [ -n "$PASS_THROUGH" ] ; then
- ADDITIONAL_PARA="--"
- fi
- while [ -n "$1" ] ; do
- ADDITIONAL_PARA="$ADDITIONAL_PARA \"$1\""
- shift
- done
- }
- checkUser() {
-
-
-
- if [ "X$RUN_AS_USER" != "X" ]
- then
-
- IDEXE="/usr/xpg4/bin/id"
- if [ ! -x "$IDEXE" ]
- then
- IDEXE="/usr/bin/id"
- if [ ! -x "$IDEXE" ]
- then
- eval echo `gettext 'Unable to locate "id".'`
- eval echo `gettext 'Please report this message along with the location of the command on your system.'`
- exit 1
- fi
- fi
- if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ]
- then
-
- RUN_AS_USER=""
- fi
- fi
- if [ "X$RUN_AS_USER" != "X" ]
- then
-
-
-
-
- if [ "X$LOCKPROP" != "X" ]
- then
- if [ "X$1" != "X" ]
- then
-
- RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1`
- if [ "X$RUN_AS_GROUP" = "X" ]
- then
- RUN_AS_GROUP=$RUN_AS_USER
- fi
- touch $LOCKFILE
- chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE
- fi
- fi
-
-
- shift
-
- ADDITIONAL_PARA=""
- while [ -n "$1" ] ; do
- ADDITIONAL_PARA="$ADDITIONAL_PARA \"$1\""
- shift
- done
-
-
- if test -f "/sbin/runuser"
- then
- /sbin/runuser - $RUN_AS_USER -c "\"$REALPATH\" $ADDITIONAL_PARA"
- else
- su - $RUN_AS_USER -c "\"$REALPATH\" $ADDITIONAL_PARA"
- fi
- RUN_AS_USER_EXITCODE=$?
-
- if [ "X$LOCKPROP" != "X" ]
- then
- getpid
- if [ "X$pid" = "X" ]
- then
-
- if [ -f "$LOCKFILE" ]
- then
- rm "$LOCKFILE"
- fi
- fi
- fi
- exit $RUN_AS_USER_EXITCODE
- fi
- }
- getpid() {
- pid=""
- if [ -f "$PIDFILE" ]
- then
- if [ -r "$PIDFILE" ]
- then
- pid=`cat "$PIDFILE"`
- if [ "X$pid" != "X" ]
- then
-
-
-
-
-
- case "$DIST_OS" in
- 'freebsd')
- pidtest=`$PSEXE -p $pid -o args | tail -1`
- if [ "X$pidtest" = "XCOMMAND" ]
- then
- pidtest=""
- fi
- ;;
- 'macosx')
- pidtest=`$PSEXE -ww -p $pid -o command | grep -F "$WRAPPER_CMD" | tail -1`
- ;;
- 'solaris')
- if [ -f "/usr/bin/pargs" ]
- then
- pidtest=`pargs $pid | fgrep "$WRAPPER_CMD" | tail -1`
- else
- case "$PSEXE" in
- '/usr/ucb/ps')
- pidtest=`$PSEXE -auxww $pid | fgrep "$WRAPPER_CMD" | tail -1`
- ;;
- '/usr/bin/ps')
- TRUNCATED_CMD=`$PSEXE -o comm -p $pid | tail -1`
- COUNT=`echo $TRUNCATED_CMD | wc -m`
- COUNT=`echo ${COUNT}`
- COUNT=`expr $COUNT - 1`
- TRUNCATED_CMD=`echo $WRAPPER_CMD | cut -c1-$COUNT`
- pidtest=`$PSEXE -o comm -p $pid | fgrep "$TRUNCATED_CMD" | tail -1`
- ;;
- '/bin/ps')
- TRUNCATED_CMD=`$PSEXE -o comm -p $pid | tail -1`
- COUNT=`echo $TRUNCATED_CMD | wc -m`
- COUNT=`echo ${COUNT}`
- COUNT=`expr $COUNT - 1`
- TRUNCATED_CMD=`echo $WRAPPER_CMD | cut -c1-$COUNT`
- pidtest=`$PSEXE -o comm -p $pid | fgrep "$TRUNCATED_CMD" | tail -1`
- ;;
- *)
- echo "Unsupported ps command $PSEXE"
- exit 1
- ;;
- esac
- fi
- ;;
- 'hpux')
- pidtest=`$PSEXE -p $pid -x -o args | grep -F "$WRAPPER_CMD" | tail -1`
- ;;
- *)
- pidtest=`$PSEXE -p $pid -o args | grep -F "$WRAPPER_CMD" | tail -1`
- ;;
- esac
- if [ "X$pidtest" = "X" ]
- then
-
- rm -f "$PIDFILE"
- eval echo `gettext 'Removed stale pid file: $PIDFILE'`
- pid=""
- fi
- fi
- else
- eval echo `gettext 'Cannot read $PIDFILE.'`
- exit 1
- fi
- fi
- }
- getstatus() {
- STATUS=
- if [ -f "$STATUSFILE" ]
- then
- if [ -r "$STATUSFILE" ]
- then
- STATUS=`cat "$STATUSFILE"`
- fi
- fi
- if [ "X$STATUS" = "X" ]
- then
- STATUS="Unknown"
- fi
-
- JAVASTATUS=
- if [ -f "$JAVASTATUSFILE" ]
- then
- if [ -r "$JAVASTATUSFILE" ]
- then
- JAVASTATUS=`cat "$JAVASTATUSFILE"`
- fi
- fi
- if [ "X$JAVASTATUS" = "X" ]
- then
- JAVASTATUS="Unknown"
- fi
- }
- testpid() {
- case "$DIST_OS" in
- 'solaris')
- case "$PSEXE" in
- '/usr/ucb/ps')
- pid=`$PSEXE $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- ;;
- '/usr/bin/ps')
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- ;;
- '/bin/ps')
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- ;;
- *)
- echo "Unsupported ps command $PSEXE"
- exit 1
- ;;
- esac
- ;;
- *)
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1` 2>/dev/null
- ;;
- esac
- if [ "X$pid" = "X" ]
- then
-
- rm -f "$PIDFILE"
- pid=""
- fi
- }
- launchdtrap() {
- stopit
- exit
- }
- waitforwrapperstop() {
- getpid
- while [ "X$pid" != "X" ] ; do
- sleep 1
- getpid
- done
- }
- launchinternal() {
- getpid
- trap launchdtrap TERM
- if [ "X$pid" = "X" ]
- then
- prepAdditionalParams "$@"
-
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP wrapper.script.version=3.5.15 $ADDITIONAL_PARA"
- eval $COMMAND_LINE
- else
- eval echo `gettext '$APP_LONG_NAME is already running.'`
- exit 1
- fi
-
- if [ $WAIT_FOR_STARTED_STATUS = true ]
- then
- waitforwrapperstop
- fi
- }
- console() {
- eval echo `gettext 'Running $APP_LONG_NAME...'`
- getpid
- if [ "X$pid" = "X" ]
- then
- trap '' 3
- prepAdditionalParams "$@"
-
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP wrapper.script.version=3.5.15 $ADDITIONAL_PARA"
- eval $COMMAND_LINE
- else
- eval echo `gettext '$APP_LONG_NAME is already running.'`
- exit 1
- fi
- }
- waitforjavastartup() {
- getstatus
- eval echo $ECHOOPT `gettext 'Waiting for $APP_LONG_NAME...'`
-
-
- counter=15
- while [ "$JAVASTATUS" = "Unknown" -a $counter -gt 0 -a -n "$JAVASTATUS" ] ; do
- echo $ECHOOPT"."
- sleep 1
- getstatus
- counter=`expr $counter - 1`
- done
-
- if [ -n "$WAIT_FOR_STARTED_TIMEOUT" ] ; then
- counter=$WAIT_FOR_STARTED_TIMEOUT
- else
- counter=120
- fi
- while [ "$JAVASTATUS" != "STARTED" -a "$JAVASTATUS" != "Unknown" -a $counter -gt 0 -a -n "$JAVASTATUS" ] ; do
- echo $ECHOOPT"."
- sleep 1
- getstatus
- counter=`expr $counter - 1`
- done
- if [ "X$ECHOOPT" != "X" ] ; then
- echo ""
- fi
- }
-
- startwait() {
- if [ $WAIT_FOR_STARTED_STATUS = true ]
- then
- waitforjavastartup
- fi
-
-
-
- i=0
- while [ $i -lt $WAIT_AFTER_STARTUP ]
- do
- sleep 1
- echo $ECHOOPT"."
- i=`expr $i + 1`
- done
- if [ $WAIT_AFTER_STARTUP -gt 0 -o $WAIT_FOR_STARTED_STATUS = true ]
- then
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext ' WARNING: $APP_LONG_NAME may have failed to start.'`
- exit 1
- else
- eval echo `gettext ' running: PID:$pid'`
- fi
- else
- echo ""
- fi
- }
- macosxstart() {
-
- eval echo `gettext 'Starting $APP_LONG_NAME. Detected Mac OSX and installed launchd daemon.'`
- if [ `id | sed 's/^uid=//;s/(.*$//'` != "0" ] ; then
- eval echo `gettext 'Must be root to perform this action.'`
- exit 1
- fi
-
- getpid
- if [ "X$pid" != "X" ] ; then
- eval echo `gettext '$APP_LONG_NAME is already running.'`
- exit 1
- fi
-
-
- LOADED_PLIST=`launchctl list | grep ${APP_PLIST_BASE}`
- if [ "X${LOADED_PLIST}" = "X" ] ; then
- launchctl load /Library/LaunchDaemons/${APP_PLIST}
- fi
-
- getpid
- if [ "X$pid" == "X" ] ; then
- launchctl start ${APP_PLIST_BASE}
- fi
-
- startwait
- }
- upstartstart() {
-
- eval echo `gettext 'Starting $APP_LONG_NAME. Detected Linux and installed upstart.'`
- if [ `id | sed 's/^uid=//;s/(.*$//'` != "0" ] ; then
- eval echo `gettext 'Must be root to perform this action.'`
- exit 1
- fi
-
- getpid
- if [ "X$pid" != "X" ] ; then
- eval echo `gettext '$APP_LONG_NAME is already running.'`
- exit 1
- fi
-
- /sbin/start ${APP_NAME}
-
- startwait
- }
- start() {
- eval echo `gettext 'Starting $APP_LONG_NAME...'`
- getpid
- if [ "X$pid" = "X" ]
- then
- prepAdditionalParams "$@"
-
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP wrapper.script.version=3.5.15 $ADDITIONAL_PARA"
- eval $COMMAND_LINE
- else
- eval echo `gettext '$APP_LONG_NAME is already running.'`
- exit 1
- fi
-
- startwait
- }
-
- stopit() {
-
-
- eval echo `gettext 'Stopping $APP_LONG_NAME...'`
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext '$APP_LONG_NAME was not running.'`
- if [ "X$1" = "X1" ]
- then
- exit 1
- fi
- else
- if [ "X$IGNORE_SIGNALS" = "X" ]
- then
-
- kill $pid
- if [ $? -ne 0 ]
- then
-
- eval echo `gettext 'Unable to stop $APP_LONG_NAME.'`
- exit 1
- fi
- else
- rm -f "$ANCHORFILE"
- if [ -f "$ANCHORFILE" ]
- then
-
- eval echo `gettext 'Unable to stop $APP_LONG_NAME.'`
- exit 1
- fi
- fi
-
-
-
- savepid=$pid
- CNT=0
- TOTCNT=0
- while [ "X$pid" != "X" ]
- do
-
- if [ "$CNT" -lt "5" ]
- then
- CNT=`expr $CNT + 1`
- else
- eval echo `gettext 'Waiting for $APP_LONG_NAME to exit...'`
- CNT=0
- fi
- TOTCNT=`expr $TOTCNT + 1`
- sleep 1
- testpid
- done
- pid=$savepid
- testpid
- if [ "X$pid" != "X" ]
- then
- eval echo `gettext 'Failed to stop $APP_LONG_NAME.'`
- exit 1
- else
- eval echo `gettext 'Stopped $APP_LONG_NAME.'`
- fi
- fi
- }
-
- pause() {
- eval echo `gettext 'Pausing $APP_LONG_NAME.'`
- }
- resume() {
- eval echo `gettext 'Resuming $APP_LONG_NAME.'`
- }
- status() {
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext '$APP_LONG_NAME is not running.'`
- exit 1
- else
- if [ "X$DETAIL_STATUS" = "X" ]
- then
- eval echo `gettext '$APP_LONG_NAME is running: PID:$pid'`
- else
- getstatus
- eval echo `gettext '$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS'`
- fi
- exit 0
- fi
- }
- installUpstart() {
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon using upstart..'`
- if [ -f "${REALDIR}/${APP_NAME}.install" ] ; then
- eval echo `gettext ' a custom upstart conf file ${APP_NAME}.install found'`
- cp "${REALDIR}/${APP_NAME}.install" "/etc/init/${APP_NAME}.conf"
- else
- eval echo `gettext ' creating default upstart conf file..'`
- echo "# ${APP_NAME} - ${APP_LONG_NAME}" > "/etc/init/${APP_NAME}.conf"
- echo "description \"${APP_LONG_NAME}\"" >> "/etc/init/${APP_NAME}.conf"
- echo "author \"Tanuki Software Ltd. <info@tanukisoftware.com>\"" >> "/etc/init/${APP_NAME}.conf"
- echo "start on runlevel [2345]" >> "/etc/init/${APP_NAME}.conf"
- echo "stop on runlevel [!2345]" >> "/etc/init/${APP_NAME}.conf"
- echo "env LANG=${LANG}" >> "/etc/init/${APP_NAME}.conf"
- echo "exec \"${REALPATH}\" upstartinternal" >> "/etc/init/${APP_NAME}.conf"
- fi
- }
- installdaemon() {
- if [ `id | sed 's/^uid=//;s/(.*$//'` != "0" ] ; then
- eval echo `gettext 'Must be root to perform this action.'`
- exit 1
- else
- APP_NAME_LOWER=`echo "$APP_NAME" | $TREXE "[A-Z]" "[a-z]"`
- if [ "$DIST_OS" = "solaris" ] ; then
- eval echo `gettext 'Detected Solaris:'`
- if [ -f /etc/init.d/$APP_NAME ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc3.d/K20$APP_NAME_LOWER"
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc3.d/S20$APP_NAME_LOWER"
- fi
- elif [ "$DIST_OS" = "linux" ] ; then
- if [ -f /etc/redhat-release -o -f /etc/redhat_version -o -f /etc/fedora-release ] ; then
- eval echo `gettext 'Detected RHEL or Fedora:'`
- if [ -f "/etc/init.d/$APP_NAME" -o -f "/etc/init/${APP_NAME}.conf" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- if [ -n "$USE_UPSTART" -a -d "/etc/init" ] ; then
- installUpstart
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
- /sbin/chkconfig --add "$APP_NAME"
- /sbin/chkconfig "$APP_NAME" on
- fi
- fi
- elif [ -f /etc/SuSE-release ] ; then
- eval echo `gettext 'Detected SuSE or SLES:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
- insserv "/etc/init.d/$APP_NAME"
- fi
- elif [ -f /etc/lsb-release ] ; then
- eval echo `gettext 'Detected Ubuntu:'`
- if [ -f "/etc/init.d/$APP_NAME" -o -f "/etc/init/${APP_NAME}.conf" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- if [ -n "$USE_UPSTART" -a -d "/etc/init" ] ; then
- installUpstart
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon using init.d..'`
- ln -s "$REALPATH" "/etc/init.d/$APP_NAME"
- update-rc.d "$APP_NAME" defaults
- fi
- fi
- else
- eval echo `gettext 'Detected Linux:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- ln -s "$REALPATH" /etc/init.d/$APP_NAME
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc3.d/K20$APP_NAME_LOWER"
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc3.d/S20$APP_NAME_LOWER"
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc5.d/S20$APP_NAME_LOWER"
- ln -s "/etc/init.d/$APP_NAME" "/etc/rc5.d/K20$APP_NAME_LOWER"
- fi
- fi
- elif [ "$DIST_OS" = "hpux" ] ; then
- eval echo `gettext 'Detected HP-UX:'`
- if [ -f "/sbin/init.d/$APP_NAME" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- ln -s "$REALPATH" "/sbin/init.d/$APP_NAME"
- ln -s "/sbin/init.d/$APP_NAME" "/sbin/rc3.d/K20$APP_NAME_LOWER"
- ln -s "/sbin/init.d/$APP_NAME" "/sbin/rc3.d/S20$APP_NAME_LOWER"
- fi
- elif [ "$DIST_OS" = "aix" ] ; then
- eval echo `gettext 'Detected AIX:'`
- if [ -f "/etc/rc.d/init.d/$APP_NAME" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed as rc.d script.'`
- exit 1
- elif [ -n "`/usr/sbin/lsitab $APP_NAME`" -a -n "`/usr/bin/lssrc -S -s $APP_NAME`" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed as SRC service.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- if [ -n "`/usr/sbin/lsitab install_assist`" ] ; then
- eval echo `gettext ' The task /usr/sbin/install_assist was found in the inittab, this might cause problems for all subsequent tasks to launch at this process is known to block the init task. Please make sure this task is not needed anymore and remove/deactivate it.'`
- fi
- /usr/bin/mkssys -s "$APP_NAME" -p "$REALPATH" -a "launchdinternal" -u 0 -f 9 -n 15 -S
- /usr/sbin/mkitab "$APP_NAME":2:once:"/usr/bin/startsrc -s \"${APP_NAME}\" >/dev/console 2>&1"
-
- fi
- elif [ "$DIST_OS" = "freebsd" ] ; then
- eval echo `gettext 'Detected FreeBSD:'`
- if [ -f "/etc/rc.d/$APP_NAME" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- sed -i .bak "/${APP_NAME}_enable=\"YES\"/d" /etc/rc.conf
- if [ -f "${REALDIR}/${APP_NAME}.install" ] ; then
- ln -s "${REALDIR}/${APP_NAME}.install" "/etc/rc.d/$APP_NAME"
- else
- echo '#!/bin/sh' > "/etc/rc.d/$APP_NAME"
- echo "#" >> "/etc/rc.d/$APP_NAME"
- echo "# PROVIDE: $APP_NAME" >> "/etc/rc.d/$APP_NAME"
- echo "# REQUIRE: NETWORKING" >> "/etc/rc.d/$APP_NAME"
- echo "# KEYWORD: shutdown" >> "/etc/rc.d/$APP_NAME"
- echo ". /etc/rc.subr" >> "/etc/rc.d/$APP_NAME"
- echo "name=\"$APP_NAME\"" >> "/etc/rc.d/$APP_NAME"
- echo "rcvar=\`set_rcvar\`" >> "/etc/rc.d/$APP_NAME"
- echo "command=\"${REALPATH}\"" >> "/etc/rc.d/$APP_NAME"
- echo 'start_cmd="${name}_start"' >> "/etc/rc.d/$APP_NAME"
- echo 'load_rc_config $name' >> "/etc/rc.d/$APP_NAME"
- echo 'status_cmd="${name}_status"' >> "/etc/rc.d/$APP_NAME"
- echo 'stop_cmd="${name}_stop"' >> "/etc/rc.d/$APP_NAME"
- echo "${APP_NAME}_status() {" >> "/etc/rc.d/$APP_NAME"
- echo '${command} status' >> "/etc/rc.d/$APP_NAME"
- echo '}' >> "/etc/rc.d/$APP_NAME"
- echo "${APP_NAME}_stop() {" >> "/etc/rc.d/$APP_NAME"
- echo '${command} stop' >> "/etc/rc.d/$APP_NAME"
- echo '}' >> "/etc/rc.d/$APP_NAME"
- echo "${APP_NAME}_start() {" >> "/etc/rc.d/$APP_NAME"
- echo '${command} start' >> "/etc/rc.d/$APP_NAME"
- echo '}' >> "/etc/rc.d/$APP_NAME"
- echo 'run_rc_command "$1"' >> "/etc/rc.d/$APP_NAME"
- fi
- echo "${APP_NAME}_enable=\"YES\"" >> /etc/rc.conf
- chmod 555 "/etc/rc.d/$APP_NAME"
- fi
- elif [ "$DIST_OS" = "macosx" ] ; then
- eval echo `gettext 'Detected Mac OSX:'`
- if [ -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- if [ -f "${REALDIR}/${APP_PLIST}" ] ; then
- ln -s "${REALDIR}/${APP_PLIST}" "/Library/LaunchDaemons/${APP_PLIST}"
- else
- echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > "/Library/LaunchDaemons/${APP_PLIST}"
- echo "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo "<plist version=\"1.0\">" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <dict>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <key>Label</key>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <string>${APP_PLIST_BASE}</string>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <key>ProgramArguments</key>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <array>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <string>${REALPATH}</string>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <string>launchdinternal</string>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " </array>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <key>OnDemand</key>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <true/>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <key>RunAtLoad</key>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <true/>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- if [ "X$RUN_AS_USER" != "X" ] ; then
- echo " <key>UserName</key>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo " <string>${RUN_AS_USER}</string>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- fi
- echo " </dict>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- echo "</plist>" >> "/Library/LaunchDaemons/${APP_PLIST}"
- fi
- chmod 555 "/Library/LaunchDaemons/${APP_PLIST}"
- fi
- elif [ "$DIST_OS" = "zos" ] ; then
- eval echo `gettext 'Detected z/OS:'`
- if [ -f /etc/rc.bak ] ; then
- eval echo `gettext ' The $APP_LONG_NAME daemon is already installed.'`
- exit 1
- else
- eval echo `gettext ' Installing the $APP_LONG_NAME daemon..'`
- cp /etc/rc /etc/rc.bak
- sed "s:echo /etc/rc script executed, \`date\`::g" /etc/rc.bak > /etc/rc
- echo "_BPX_JOBNAME='${APP_NAME}' \"${REALDIR}/${APP_NAME}\" start" >>/etc/rc
- echo '/etc/rc script executed, `date`' >>/etc/rc
- fi
- else
- eval echo `gettext 'Install not currently supported for $DIST_OS'`
- exit 1
- fi
- fi
- }
- removedaemon() {
- if [ `id | sed 's/^uid=//;s/(.*$//'` != "0" ] ; then
- eval echo `gettext 'Must be root to perform this action.'`
- exit 1
- else
- APP_NAME_LOWER=`echo "$APP_NAME" | $TREXE "[A-Z]" "[a-z]"`
- if [ "$DIST_OS" = "solaris" ] ; then
- eval echo `gettext 'Detected Solaris:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- for i in "/etc/rc3.d/S20$APP_NAME_LOWER" "/etc/rc3.d/K20$APP_NAME_LOWER" "/etc/init.d/$APP_NAME"
- do
- rm -f $i
- done
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ "$DIST_OS" = "linux" ] ; then
- if [ -f /etc/redhat-release -o -f /etc/redhat_version -o -f /etc/fedora-release ] ; then
- eval echo `gettext 'Detected RHEL or Fedora:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- /sbin/chkconfig "$APP_NAME" off
- /sbin/chkconfig --del "$APP_NAME"
- rm -f "/etc/init.d/$APP_NAME"
- elif [ -f "/etc/init/${APP_NAME}.conf" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon from upstart...'`
- rm "/etc/init/${APP_NAME}.conf"
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ -f /etc/SuSE-release ] ; then
- eval echo `gettext 'Detected SuSE or SLES:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- insserv -r "/etc/init.d/$APP_NAME"
- rm -f "/etc/init.d/$APP_NAME"
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ -f /etc/lsb-release ] ; then
- eval echo `gettext 'Detected Ubuntu:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon from init.d...'`
- update-rc.d -f "$APP_NAME" remove
- rm -f "/etc/init.d/$APP_NAME"
- elif [ -f "/etc/init/${APP_NAME}.conf" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon from upstart...'`
- rm "/etc/init/${APP_NAME}.conf"
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- else
- eval echo `gettext 'Detected Linux:'`
- if [ -f "/etc/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- for i in "/etc/rc3.d/K20$APP_NAME_LOWER" "/etc/rc5.d/K20$APP_NAME_LOWER" "/etc/rc3.d/S20$APP_NAME_LOWER" "/etc/init.d/$APP_NAME" "/etc/rc5.d/S20$APP_NAME_LOWER"
- do
- rm -f $i
- done
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- fi
- elif [ "$DIST_OS" = "hpux" ] ; then
- eval echo `gettext 'Detected HP-UX:'`
- if [ -f "/sbin/init.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- for i in "/sbin/rc3.d/K20$APP_NAME_LOWER" "/sbin/rc3.d/S20$APP_NAME_LOWER" "/sbin/init.d/$APP_NAME"
- do
- rm -f $i
- done
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ "$DIST_OS" = "aix" ] ; then
- eval echo `gettext 'Detected AIX:'`
- if [ -f "/etc/rc.d/init.d/$APP_NAME" -o -n "`/usr/sbin/lsitab $APP_NAME`" -o -n "`/usr/bin/lssrc -S -s $APP_NAME`" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- if [ -f "/etc/rc.d/init.d/$APP_NAME" ] ; then
- for i in "/etc/rc.d/rc2.d/S20$APP_NAME_LOWER" "/etc/rc.d/rc2.d/K20$APP_NAME_LOWER" "/etc/rc.d/init.d/$APP_NAME"
- do
- rm -f $i
- done
- fi
- if [ -n "`/usr/sbin/lsitab $APP_NAME`" -o -n "`/usr/bin/lssrc -S -s $APP_NAME`" ] ; then
- /usr/sbin/rmitab $APP_NAME
- /usr/bin/rmssys -s $APP_NAME
- fi
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ "$DIST_OS" = "freebsd" ] ; then
- eval echo `gettext 'Detected FreeBSD:'`
- if [ -f "/etc/rc.d/$APP_NAME" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- for i in "/etc/rc.d/$APP_NAME"
- do
- rm -f $i
- done
- sed -i .bak "/${APP_NAME}_enable=\"YES\"/d" /etc/rc.conf
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ "$DIST_OS" = "macosx" ] ; then
- eval echo `gettext 'Detected Mac OSX:'`
- if [ -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
-
- LOADED_PLIST=`launchctl list | grep ${APP_PLIST_BASE}`
- if [ "X${LOADED_PLIST}" != "X" ] ; then
- launchctl unload "/Library/LaunchDaemons/${APP_PLIST}"
- fi
- rm -f "/Library/LaunchDaemons/${APP_PLIST}"
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- elif [ "$DIST_OS" = "zos" ] ; then
- eval echo `gettext 'Detected z/OS:'`
- if [ -f /etc/rc.bak ] ; then
- stopit "0"
- eval echo `gettext ' Removing $APP_LONG_NAME daemon...'`
- cp /etc/rc /etc/rc.bak
- sed "s/_BPX_JOBNAME=\'APP_NAME\'.*//g" /etc/rc.bak > /etc/rc
- rm /etc/rc.bak
- else
- eval echo `gettext ' The $APP_LONG_NAME daemon is not currently installed.'`
- exit 1
- fi
- else
- eval echo `gettext 'Remove not currently supported for $DIST_OS'`
- exit 1
- fi
- fi
- }
- dump() {
- eval echo `gettext 'Dumping $APP_LONG_NAME...'`
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext '$APP_LONG_NAME was not running.'`
- else
- kill -3 $pid
- if [ $? -ne 0 ]
- then
- eval echo `gettext 'Failed to dump $APP_LONG_NAME.'`
- exit 1
- else
- eval echo `gettext 'Dumped $APP_LONG_NAME.'`
- fi
- fi
- }
- startmsg() {
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext 'Starting $APP_LONG_NAME... Wrapper:Stopped'`
- else
- if [ "X$DETAIL_STATUS" = "X" ]
- then
- eval echo `gettext 'Starting $APP_LONG_NAME... Wrapper:Running'`
- else
- getstatus
- eval echo `gettext 'Starting $APP_LONG_NAME... Wrapper:$STATUS, Java:$JAVASTATUS'`
- fi
- fi
- }
- stopmsg() {
- getpid
- if [ "X$pid" = "X" ]
- then
- eval echo `gettext 'Stopping $APP_LONG_NAME... Wrapper:Stopped'`
- else
- if [ "X$DETAIL_STATUS" = "X" ]
- then
- eval echo `gettext 'Stopping $APP_LONG_NAME... Wrapper:Running'`
- else
- getstatus
- eval echo `gettext 'Stopping $APP_LONG_NAME... Wrapper:$STATUS, Java:$JAVASTATUS'`
- fi
- fi
- }
- showUsage() {
-
- if [ -n "$1" ]
- then
- eval echo `gettext 'Unexpected command: $1'`
- echo "";
- fi
- eval MSG=`gettext 'Usage: '`
- if [ -n "$FIXED_COMMAND" ] ; then
- if [ -n "$PASS_THROUGH" ] ; then
- echo "${MSG} $0 {JavaAppArgs}"
- else
- echo "${MSG} $0"
- fi
- else
- if [ -n "$PAUSABLE" ] ; then
- if [ -n "$PASS_THROUGH" ] ; then
- echo "${MSG} $0 [ console {JavaAppArgs} | start {JavaAppArgs} | stop | restart {JavaAppArgs} | condrestart {JavaAppArgs} | pause | resume | status | install | remove | dump ]"
- else
- echo "${MSG} $0 [ console | start | stop | restart | condrestart | pause | resume | status | install | remove | dump ]"
- fi
- else
- if [ -n "$PASS_THROUGH" ] ; then
- echo "${MSG} $0 [ console {JavaAppArgs} | start {JavaAppArgs} | stop | restart {JavaAppArgs} | condrestart {JavaAppArgs} | status | install | remove | dump ]"
- else
- echo "${MSG} $0 [ console | start | stop | restart | condrestart | status | install | remove | dump ]"
- fi
- fi
- fi
- if [ ! -n "$BRIEF_USAGE" ]
- then
- echo "";
- if [ ! -n "$FIXED_COMMAND" ] ; then
- echo "`gettext 'Commands:'`"
- echo "`gettext ' console Launch in the current console.'`"
- echo "`gettext ' start Start in the background as a daemon process.'`"
- echo "`gettext ' stop Stop if running as a daemon or in another console.'`"
- echo "`gettext ' restart Stop if running and then start.'`"
- echo "`gettext ' condrestart Restart only if already running.'`"
- if [ -n "$PAUSABLE" ] ; then
- echo "`gettext ' pause Pause if running.'`"
- echo "`gettext ' resume Resume if paused.'`"
- fi
- echo "`gettext ' status Query the current status.'`"
- echo "`gettext ' install Install to start automatically when system boots.'`"
- echo "`gettext ' remove Uninstall.'`"
- echo "`gettext ' dump Request a Java thread dump if running.'`"
- echo "";
- fi
- if [ -n "$PASS_THROUGH" ] ; then
- echo "`gettext 'JavaAppArgs: Zero or more arguments which will be passed to the Java application.'`"
- echo "";
- fi
- fi
- exit 1
- }
- docommand() {
- case "$COMMAND" in
- 'console')
- checkUser touchlock "$@"
- if [ ! -n "$FIXED_COMMAND" ] ; then
- shift
- fi
- console "$@"
- ;;
-
- 'start')
- if [ "$DIST_OS" = "macosx" -a -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
- macosxstart
- elif [ "$DIST_OS" = "linux" -a -f "/etc/init/${APP_NAME}.conf" ] ; then
- upstartstart
- else
- checkUser touchlock "$@"
- if [ ! -n "$FIXED_COMMAND" ] ; then
- shift
- fi
- start "$@"
- fi
- ;;
-
- 'stop')
- checkUser "" "$COMMAND"
- stopit "0"
- ;;
-
- 'restart')
- checkUser touchlock "$COMMAND"
- if [ ! -n "$FIXED_COMMAND" ] ; then
- shift
- fi
- stopit "0"
- start "$@"
- ;;
-
- 'condrestart')
- checkUser touchlock "$COMMAND"
- if [ ! -n "$FIXED_COMMAND" ] ; then
- shift
- fi
- stopit "1"
- start "$@"
- ;;
-
- 'pause')
- if [ -n "$PAUSABLE" ]
- then
- pause
- else
- showUsage "$COMMAND"
- fi
- ;;
-
- 'resume')
- if [ -n "$PAUSABLE" ]
- then
- resume
- else
- showUsage "$COMMAND"
- fi
- ;;
-
- 'status')
- status
- ;;
-
- 'install')
- installdaemon
- ;;
-
- 'remove')
- removedaemon
- ;;
-
- 'dump')
- checkUser "" "$COMMAND"
- dump
- ;;
-
- 'start_msg')
-
- checkUser "" "$COMMAND"
- startmsg
- ;;
-
- 'stop_msg')
-
- checkUser "" "$COMMAND"
- stopmsg
- ;;
-
- 'launchdinternal' | 'upstartinternal')
- if [ ! "$DIST_OS" = "macosx" -o ! -f "/Library/LaunchDaemons/${APP_PLIST}" ] ; then
- checkUser touchlock "$@"
- fi
-
-
- if [ ! -n "$FIXED_COMMAND" ] ; then
- shift
- fi
- launchinternal "$@"
- ;;
-
- *)
- showUsage "$COMMAND"
- ;;
- esac
- }
- docommand "$@"
- exit 0
|