出張おはき゛ろく

Twitterで書ききれないことを書こうと思います。

Tiarraをsystemdで起動する

CentOS 7が出たのでsystemdを勉強中。シェルがゴリゴリ書かれていたinitより超わかりやすいと思う。

Tiarraをとりあえずサービスにしたかったので、とりあえず動いたものを残しておく。
Tiarraの本体とtiarra.confは/usr/local/tiarraインスコされているものとして、ExecStart、ExecReload、ExecStopさえ書かれていれば動くような雰囲気。前提サービスとしてsyslogとnetworkくらいは書いておく。たぶんホントは色々足りてない。

ExecStopをkill以外で穏便に済ませる方法がわかりません。。。

vi /lib/systemd/system/tiarra.service
[Unit]
Description=Tiarra server daemon
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/perl /usr/local/tiarra/tiarra --config=/usr/local/tiarra/tiarra.conf
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

あとはサービス登録?

systemctl enable tiarra.service
systemctl start tiarra.service

実行時の標準出力ログはsystemdに拾われて/var/log/messagesに出るのかな。