/etc/init.d/ にあるさまざまなデーモン スクリプトを見ても、'lockfile' 変数の目的が理解できないようです。デーモンを開始する前に「lockfile」変数がチェックされていないようです。
たとえば、/etc/init.d/ntpd の一部のコード:
prog=ntpd
lockfile=/var/lock/subsys/$prog
start() {
[ "$EUID" != "0" ] && exit 4
[ "$NETWORKING" = "no" ] && exit 1
[ -x /usr/sbin/ntpd ] || exit 5
[ -f /etc/sysconfig/ntpd ] || exit 6
. /etc/sysconfig/ntpd
# Start daemons.
echo -n $"Starting $prog: "
daemon $prog $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
「lockfile」変数は何をしていますか?
また、C++ で独自のデーモンを作成する場合 ( http://www.itp.uzh.ch/~dpotter/howto/daemonizeの下部にある例に従うなど)、コンパイルされたバイナリを /etc/ に直接配置しますか? init.d/ または、バイナリを呼び出すスクリプトをそこに配置しますか。(つまり、上記のコードの「daemon $prog」をバイナリへの呼び出しに置き換えますか?)