デーモンとして
/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がないという事はないですよね?