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 命令行实用程序的内容。
运行 imsimta process 时,不应该看到分发程序或作业控制器的多个实例,除非系统在执行 (exec()) 需要运行的程序之前正在处理分叉 (fork()) 子进程。但是,此类重复过程的时间范围很小。