Tomcat は commons-daemon プロジェクトの jsvc ツールを使ってデーモンとして実行できます。
jsvc のソース tar ボールは Tomcat のバイナリに含まれています。
[あなた自身で] コンパイルする必要があります。
jsvc をビルドするには (GCC などの) ANSI C コンパイラと,GNU Autoconf と,JDK が必要です。
スクリプトを実行する前に,JAVA_HOME 環境変数を JDK
のベース path にセットしておきます。あるいはそうするかわりに,./configure
スクリプトを実行する時に --with-java パラメタを使って JDK の path
を指定することもできます。たとえば
./configure --with-java=/usr/java とします。
下記のコマンドを使うと,jsvc のバイナリがコンパイルされて
$CATALINA_HOME/bin フォルダに置かれます。
ただし,GNU TAR を使ってください [OS X 10.4 とほとんどの Linux
では標準で GNU TAR が使われます]。
CATALINA_HOME は Tomcat をインストールしたベース path
を指す環境変数とします。
FreeBSD システムではネイティブの BSD make のかわりに GNU make
(gmake) を使わなければならないことに注意してください
[OS X 10.4 とほとんどの Linux では標準で GNU make が make として使われます]。
 |  |  |
 |
cd $CATALINA_HOME/bin
tar xvfz jsvc.tar.gz
cd jsvc-src
autoconf
./configure
make
cp jsvc ..
cd ..
|  |
 |  |  |
その後,Tomcat を下記のコマンドを使ってデーモンとして実行できます。
 |  |  |
 |
cd $CATALINA_HOME
./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
-outfile ./logs/catalina.out -errfile ./logs/catalina.err \
org.apache.catalina.startup.Bootstrap
|  |
 |  |  |
jsvc には他にも有用なパラメタがあります。
たとえば -user はデーモンの初期化が完了した後,別のユーザ [の権限] に切り替えます。
これにより,たとえば,特権が必要なポート番号 [80 番など] を使えるようにしつつ,
非特権ユーザとして Tomcat を実行することができます。
jsvc --help は完全な jsvc の使用方法の情報を返します。
とりわけ -debug は実行中の jsvc の問題点をデバッグするのに有用です。
ファイル $CATALINA_HOME/bin/jsvc/native/tomcat.sh
はブート時に /etc/init.d から自動的に Tomcat
を開始させるテンプレートとして使えます。
このファイルは現在 Tomcat 4.1.x を実行するようにセットアップされていますから,
編集してクラス名を BootstrapService から Bootstrap
に変更する必要があります
[しかし,実際は,少なくとも 5.5.20 版では,Tomcat 4.1.x 用に tomcat.sh ではなく
Tomcat.sh が用意され,Tomcat 5 用に Tomcat5.sh が用意されている模様です]。
このように Tomcat を実行するには,あなたの実行時クラスパスに
Commons-Daemon JAR ファイルがなければならないことに注意してください。
Commons-Daemon JAR ファイルは bootstrap.jar のマニフェストの
Class-Path 項目にありますが,もしも jsvc を起動したとき,Commons-Daemon
クラスに対して ClassNotFoundException または NoClassDefFoundError をくらうようならば,
Commons-Daemon JAR を -cp 引数に加えてください。