Linux で、デーモンのプログラム(Perl スクリプト)を自動起動させるには?

Perl で、デーモン (Daemon) のプログラムを書くには?」ではタイトルの通り、Perl でデーモンのプログラムを書く方法を紹介した。 それでは、せっかく Perl で書けたこのデーモンプログラム(Perl スクリプト)、Linux で自動起動させてあげるにはどうしたらいいのだろうか?
  1. 以下のスクリプトの青字の部分を修正する。
    • .pl には、Perl で書いたデーモンのスクリプト名が入る。
    • /var/www/cgi-bin/your_service_dir には、上のスクリプトを置いた場所が入る。
  2. 以下のシェルスクリプトを your_service_manager など、自分の好きなファイル名にして、/etc/rc.d/init.d に保存する。
  3. スクリプトは実行できるようにしておくこと。
$ chmod +x your_service_manager
#!/bin/bash

# service_manager init file
# Daemon for service_manager
# Process name: /var/www/cgi-bin/your_daemon_dir/your_service_manager.pl

# Copyright (c) 2006 Perl Tips -
#" title="https://perltips.twinkle.cc
#">https://perltips.twinkle.cc
#
source function library
. /etc/rc.d/init.d/functions

# Define name of Program
prog_dir=<font color="blue">/var/www/cgi-bin/your_service_dir</font>
prog="<font color="blue">your_service_manager.pl</font>"

OPTIONS=""
RETVAL=0

start() {
    echo -n $"Starting $prog: "
    daemon $prog_dir/$prog $OPTIONS
    RETVAL=$?
    echo
    return $RETVAL
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog_dir/$prog
    RETVAL=$?
    echo
    return $RETVAL
}

restart() {
    stop
    start
}

case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
*)
echo $"usage: $0 {start|stop|restart}"
RETVAL=1
esac

exit $RETVAL
トラックバック URL: https://perltips.twinkle.cc/trackback/117
Perl で、デーモン (Daemon) のプログラムを書くには?
Trackback from Perl Tips: Perl で、スクリプトをデーモン化するのはそんなに難しくない。Proc::D......
Posted by Perl Tips (未認証ユーザ) on 2006/08/01(火) 00:08