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 - https://perltips.twinkle.cc # source function library . /etc/rc.d/init.d/functions # Define name of Program prog_dir=/var/www/cgi-bin/your_service_dir prog="your_service_manager.pl" 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

Comments