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がないという事はないですよね?

  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • 「奉行シリーズ」の電話サポート革命!活用事例をご紹介

    「ナビダイヤル」の「トラフィックレポート」を利用したことで着信前のコール数や
    離脱数など、コールセンターのパフォーマンスをリアルタイムに把握するに成功。詳細はこちらから