Postfix 未运行但无法启动,因为“Postfix 邮件系统已在运行”

Postfix 未运行但无法启动,因为“Postfix 邮件系统已在运行”

我有一台正在从备份中恢复的服务器。很可能有人在某处 rsync 了根文件系统。所以不要指望它处于健康或正常状态。

当我尝试启动 postfix 时,它显示"the Postfix mail system is already running"。但是ps aux | grep postfix我可以看到没有任何东西在运行。

有什么建议么?

服务器是 Ubuntu dapper

答案1

如果“master”、“pickup”和“nqmgr”程序未运行,您可能需要检查 /var/spool/postfix/pid 中是否有过时的 pid 文件。如果有一个名为“master.pid”的文件,您可能需要删除该文件并重试。

顺便说一句,Ubuntu 可能会对 pid 文件使用略有不同的名称。postfix 程序没有名为“postfix”的二进制文件。

dpkg -L postfix

将显示 postfix 包的内容,以便您亲自查看。

答案2

这听起来不像您正在使用 init 脚本来停止/启动 postfix?即 /etc/init.d/postfix [start|stop|status]?

除了这里提供的帮助之外,如果您还没有这样做,我建议您使用现有的系统启动脚本和包管理。

首先,运行以下命令:

$(postconf -h daemon_directory)/master -t; echo $?

如果 postfix 主守护进程认为它当前正在运行(‘postconf’程序需要在您的路径中才能工作),则该命令应该返回一个非零值(即 1)。

pid 文件的位置是 /var/spool/postfix/pid/master.pid,详细信息请参阅 master(8) 手册页

man 8 master

了解更多信息。

答案3

看来该问题在当前版本的 Postfix 中仍然存在。

为了避免使用 postfix 时出现任何问题,请不要使用service postfix startnor/etc/init.d/postfix start来启动它。相反,请使用postfix start; postfix stop; 和postfix status,它们提供相同的功能,但实际上可以工作。

相关内容