start-stop-daemonで楽々デーモン化
start-stop-daemonを使うと、適当なプログラムを簡単にデーモン化できるらしい。バックグラウンドで動作させたり、PIDファイルを自動で作ったりしてくれるらしい。
でも、CentOSでは使えないのでどうしようかなぁ、と思っていたら、Cに移植したやつがあって、RPMのSPECファイルまで用意されていた。(http://www.sssg.org/blogs/naoya/archives/1097)
これを使えば、tig.rbを簡単にデーモン化できた。
#! /bin/bash pidfile=/var/run/tig.pid name="tig" prog="/home/mzp/daemons/tig/examples/tig.rb" SSD=/usr/sbin/start-stop-daemon start() { echo -n $"Starting $name: " $SSD --start --pidfile $pidfile --make-pidfile --background --exec $prog --user mzp -- --log /var/log/tig.log --host 127.0.0.1 --port 16668 RETVAL=$? echo return $RETVAL } stop() { echo -n $"Stopping $name: " $SSD --stop --oknodo --pidfile $pidfile RETVAL=$? echo return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|reload}" exit 1 esac
SPECファイルから、start-stop-daemonをインストールするには、rpmbuildを使った気がするけど、よく覚えていない。