GNU/Linux >> Linux の 問題 >  >> Linux

Rc_statusは常に「失敗」を返しますか?

開発者の1人が、起動時に開始する必要のあるサービスを持っています。このスクリプトを実行する必要があります:

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

これが私が使用している起動スクリプトで、 /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

/etc/init.d/bt startを実行すると コマンドラインからは、スクリプトが正常に起動しても、rc_statusは毎回失敗します。 rc_statusがどのように決定されるのかよくわかりません。 rc_status値を設定するのは私の責任ですか?

/etc/rc.d/rc3.dにシンボリックリンクを追加する必要があることはわかっていますが、今のところ、rootとしてコマンドラインからシンボリックリンクを機能させようとしています。

承認された回答:

startprocは使用しないでください shell-wrapper-scriptを開始する場合:startprocは、daemon-processを直接開始することを目的としています。プロセスが稼働しているかどうかを確認し、それに応じてリターンコードを設定します。

あなたの場合、startup.sh Tomcatの起動後は実行されません–代わりにパラメータのバッグを含むjavaプロセスがあります。したがって、「startup.sh」はもう実行されていないため、startprocは「failure」を返します。


Linux
  1. 起動時にGUIプログラムを実行しますか?

  2. Firefoxの起動時間を測定する方法は?

  3. /bin/true とは何ですか?

  1. systemdを使用してスタートアップを管理する

  2. Linux apropos コマンドは常に適切なものを返しません

  3. sudo -i はエラーを返します

  1. Linuxでの起動時にsystemdを理解する

  2. 〜常に$ homeと等しいですか?

  3. プロセスが常に実行されていることを確認しますか?