Debian で起動しようとしていますgod
。/etc/init.d/
以下のようにディレクトリにスクリプトを追加しました。
#!/usr/bin/sh
### BEGIN INIT INFO
# Provides: god
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start god process monitoring
# Description: Start god process monitoring
### END INIT INFO
god_conf="absolute/path/to/god.conf"
god_pid_file="/var/run/god/god.pid" ; mkdir -p `dirname $god_pid_file`
god_log_file="/var/log/god/god.log" ; mkdir -p `dirname $god_log_file`
case "$1" in
start)
god -c "$god_conf" -P "$god_pid_file" -l "$god_log_file"
RETVAL=$?
echo "God started"
;;
...
必要なシンボリックリンクを生成するために、次のコマンドを実行しました。sudo update-rc.d god defaults
ところでマシンを再起動しても神が始まらないようです。私の質問は、この問題をどのようにデバッグできるかということです。
探してみましたがdmesg
関連内容が一つもありませんでしたgod
。私も見ましたsyslog
が、何も見えませんでした。また、god.log
ファイルが空でgod.pid
ファイルはありません。
私のinitスクリプトが呼び出されていないのが問題なのか、それともgodを起動しようとしたときに失敗するのかわかりません。私は手動で実行してGodを起動しようとしましたが、sudo /etc/init.d/god start
正常に動作しているようです。どんなアイデアがありますか?
ベストアンサー1
#!/usr/bin/sh
sh
ほとんどすべてのUNIXで一般的な場所はです/bin/sh
。一部のUnixバリアントはマージされて/bin
動作します/usr/bin
が、/usr/bin/sh
移植可能な方法なので、/bin/sh
shebangsで使用する必要があります。結論はDebianには/usr/bin/sh
。