#!/bin/sh # /etc/init.d/tig NAME=tig USER=aereal PROG=/usr/local/src/net-irc/examples/tig.rb PIDFILE=/var/run/$NAME.pid start() { echo -n "Starting: $NAME" start-stop-daemon \ --start \ --pidfile $PIDFILE \ --make-pidfile \ --background \ --exec $PROG \ --user $USER \ --chuid $USER \ -- \ --log /home/$USER/var/log/$NAME.log return $? } stop() { echo -n "Stopping: $NAME" start-stop-daemon \ --stop \ --oknodo \ --pidfile $PIDFILE return $? } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac
#!/bin/sh # /etc/init.d/tiarra NAME=tiarra USER=aereal PROG=/usr/local/src/tiarra/tiarra PIDFILE=/var/run/$NAME.pid start() { echo -n "Starting: $NAME" start-stop-daemon \ --start \ --pidfile $PIDFILE \ --make-pidfile \ --background \ --exec $PROG \ --user $USER \ --chuid $USER \ --chdir /home/$USER \ -- \ --config=/home/$USER/tiarra.conf return $? } stop() { echo -n "Stopping: $NAME" start-stop-daemon \ --stop \ --oknodo \ --pidfile $PIDFILE return $? } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac
ユーザ権限で実行してほしかった(ログをみる)ので、 --chuid オプションをつける。てっきり --user オプションで実行するユーザを指定しているのかとおもったら違った。
Tiarraの Log::Channel モジュールに指定するディレクトリ名は、Tiarraが起動したときの作業ディレクトリからの相対パスになるので、 --chdir オプションで起動ディレクトリを指定しておく。(tiarra.confのほうで絶対パスを指定しても大丈夫なのかもしれない)