MTA ジョブコントローラは、大半の送信 (マスター) チャネルジョブなどの、MTA が処理するジョブの実行を行います。
MTA チャネルの中には、MTA のマルチスレッド SMTP チャネルのように、着信メッセージを処理する常駐サーバープロセスを含むものもあります。このようなサーバーは、チャネルのスレーブ (着信) 方向を扱います。MTA ディスパッチャーは、そのような MTA サーバーの作成を行います。ディスパッチャーの設定オプションは、サーバーの可用性、作成されたサーバーの数、各サーバーが処理できる接続の数を制御します。
ジョブコントローラとディスパッチャーがあるかどうかをチェックし、MTA サーバーと処理するジョブが実行中かどうかを確認するには、imsimta process コマンドを使用します。このコマンドは、アイドル状態では job_controller および dispatcher プロセスになります。次に例を示します。
# imsimta process USER PID S VSZ RSS STIME TIME COMMAND inetuser 9567 S 18416 9368 02:00:02 0:00 /opt/SUNWmsgsr/lib/tcp_smtp_server inetuser 6573 S 18112 5720 Jul_13 0:00 /opt/SUNWmsgsr/lib/job_controller inetuser 9568 S 18416 9432 02:00:02 0:00 /opt/SUNWmsgsr/lib/tcp_smtp_server inetuser 6574 S 17848 5328 Jul_13 0:00 /opt/SUNWmsgsr/lib/dispatcher |
ジョブコントローラがない場合、/msg_svr_base/data/queue ディレクトリにあるファイルはバックアップされ、メッセージは配信されません。ディスパッチャーがなければ、SMTP 接続を受信することはできません。
imsimta process の詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』の「imsimta process」を参照してください。
ジョブコントローラもディスパッチャーもない場合は、/msg_svr_base/data/log にある dispatcher.log-* または job_controller.log-* ファイルを確認します。
ログファイルが存在しないか、エラーが示されていない場合は、start-msg コマンドを使ってプロセスを開始してください。詳細は、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』の「start-msg」の MTA コマンド行ユーティリティーの章を参照してください。
実行が必要なプログラムを実行する (exec()) 前に子プロセスをフォークしている (fork()) 場合を除き、imsimta process を実行するときは、ディスパッチャーまたはジョブコントローラの複数のインスタンスを表示しないようにしてください。ただし、このような重複が発生しているのは非常に短い期間です。