GNU/Linux >> Linux Esercitazione >  >> Linux

Rc_status Restituisce sempre "fallito"?

Uno dei nostri sviluppatori ha un servizio che deve essere avviato all'avvio. Questo script deve essere attivato:

/app/bt/preview/apache-tomcat-5.5.27/bin/startup.sh

Ecco lo script di avvio con cui sto lavorando, chiamato /etc/init.d/bt :

#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          BTServer
# Required-Start:    $local_fs $network $remote_fs
# Required-Stop:     $local_fs $network $remote_fs
# Should-Start:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: BT Server
# Description:       BT Server
### END INIT INFO
#
#
# Run BT startup scripts as btu user
#
# Location of startup script
BT_SCR='/app/bt/preview/apache-tomcat-5.5.27/bin/startup.sh'

test -x $BT_SCR || exit 5

# Set up rc_status command
. /etc/rc.status
rc_reset

case "$1" in
start)
        echo -n "Starting BT Server"
        startproc -u btu $BT_SCR
        rc_status -v
        ;;
        *)
        echo "Usage: $0 { start }"
        exit 1

        ;;
esac
exit 0

Quando eseguo /etc/init.d/bt start dalla riga di comando, rc_status è fallito ogni volta, anche se lo script si avvia correttamente. Non capisco bene come viene determinato rc_status; è mia responsabilità impostare il valore rc_status?

So che dovrò aggiungere un collegamento simbolico a /etc/rc.d/rc3.d, ma per ora sto cercando di farlo funzionare dalla riga di comando come root.

Risposta accettata:

Non dovresti usare startproc per avviare uno script di shell-wrapper:startproc ha lo scopo di avviare direttamente un processo daemon. Controlla se il processo è attivo e in esecuzione e imposta il suo codice di ritorno di conseguenza.

Nel tuo caso startup.sh non verrà eseguito dopo l'avvio di Tomcat:ci sarà invece un processo java con un sacco di parametri. Quindi, poiché "startup.sh" non è più in esecuzione, startproc restituirà "failure".


Linux
  1. Eseguire un programma Gui all'avvio?

  2. Come misurare il tempo di avvio di Firefox?

  3. malloc restituisce la memoria o lo spazio degli indirizzi virtuali

  4. Il comando Linux apropos non restituisce sempre nulla di appropriato

  5. Autossh non riesce all'avvio

Analizza le prestazioni di avvio di Linux

Imparare ad amare systemd

Windows – Gnome – Windows sempre aperto in alto a sinistra?

Script all'avvio?

perché C clock() restituisce 0

sudo -i restituisce un errore