rcスクリプトの作成について

OKWave

2007-11-07 10:00

rcスクリプトの作成について

デーモンとして


/home1/bea81/weblogic81/server/bin/startNodeManager.sh

のファイルをOS起動時にサービスとして起動させたいと思っています。
そこでまず
/etc/init.d/nodemanager として以下のスクリプトファイルを作成し、
実行権限を与えました。
確認として以下を実行しましたが、、


# nodemanager start
nodemanager: not found
#
# echo $PATH
/usr/sbin:/usr/bin
#
# /etc/init.d/nodemanager
/etc/init.d/nodemanager: not found
#

と絶対パスで記述してもNotFoundとなってしました。
何が原因なんでしょうか?

また現状/etc/init.d/にパスが通っていない状況なんですが、OS起動時に既に
パスを通っている状態にするにはどのようにしたら良いのでしょうか?
また/usr/bin/などは既にパスが通っている状況なんですが、このようなファイルを
/usr/bin/などの中に入れてしまうという事でも問題ないのでしょうか?


------------------------------------------------------------------------
/etc/init.d/nodemanager
------------------------------------------------------------------------
#!/bin/sh
#
# /etc/init.d/nodemanager.sh
#
case "$1" in
start)
if [ -f /home1/bea81/weblogic81/server/bin/startNodeManager.sh ] ; then
/bin/su - weblogic -c 'cd /home1/bea81/weblogic81/server/bin;./startNodeManager.sh &'
fi
;;
*)
echo "Usage: /etc/rc2.d/S99nodemanager{ start | stop }"
exit 1
;;
esac
exit 0
------------------------------------------------------------------------

宜しくお願い致します。

良回答

>ただし、根本的な問題がクリアとなっておりません。
># nodemanager start
>nodemanager: not found

勘違いさせてしまったかもしれませんね。
OS起動時の自動実行ではパスを/etc/init.dの下に通しておく必要ありませんが、
手動で実行する場合にはパスが通っている必要があります。

/etc/init.d/nodemanager start
か、./nodemanager start
です。

回答

>shを付ける/付けないによって何が違うのでしょうか?
>文頭の「#!/bin/sh」が付ければ同じこと、と言うことではないんでしょうか?

shを付けるとその指定したshがスクリプトを実行し、付けないとその文頭に指定した/bin/shがスクリプトを実行します。

ないとはおもいますが、もしかしてその実行しようとしている環境に/bin/shがないという事はないですよね?

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]