jsvc

jsvcはtomcatをデーモンとして起動させることができるようになるツールだ。
 
http://tomcat.apache.org/tomcat-6.0-doc/setup.html

Tomcat can be run as a daemon using the jsvc tool from the commons-daemon project.

 
公式サイトからapache-tomcat-6.0.18.tar.gzなどのバイナリモジュールをダウンロードしてインストールを実施した場合は、起動スクリプトは用意されていない。
$CATALINA_HOME/bin/startup.sh などのスクリプトを利用して起動することになるわけだが、通常運用において毎回startup.shを実行するというのは何かと問題が起こる可能性がある。
 
なので普通は/etc/init.d/tomcatのような形で起動スクリプトを用意して、その中で上記スクリプトを実行する。
その際に一般ユーザで動作させるためにsudo -uで設定する場合がある。
ただし、80番ポートで設定されている場合には、rootで起動する必要があるため、プロセスの所有者はrootということになる。
それを避けたい場合に、jsvcを利用する。
 
これを利用すると、root以外の一般ユーザ(例えばtomcat)で80番ポートで起動することができる。
インストール方法は以下のサイトの「Unix daemon」の項目を参照のこと。
http://tomcat.apache.org/tomcat-6.0-doc/setup.html
 
実際に使ってみると、プロセスが2つ起動される。
一方はrootユーザのプロセスで、そのプロセスの子プロセスとして起動されるようだ。