Postfix没有运行,但不会启动,因为“Postfix邮件系统已经在运行”

我有一台服务器,正在从备份恢复。 很有可能某人在某处rsync了root FS。 所以不要指望这是一个健康或健康的状态。

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

有什么build议么?

服务器是Ubuntu的精简版

如果'master','pickup'和'nqmgr'程序没有运行,你可能想检查旧的pid文件/ var / spool / postfix / pid。 如果有一个名为“master.pid”的文件,则可能需要删除该文件并重试。

Ubuntu可能会使用稍微不同的名称作为pid文件,顺便说一句。 后缀程序没有一个名为“后缀”的二进制文件。

 dpkg -L postfix 

将显示你的后缀包的内容,所以你可以看到自己。

这听起来不像你正在使用init脚本来停止/启动后缀? 即/etc/init.d/postfix [开始|停止|状态]?

除了你在这里得到的帮助之外,我的build议是,如果你还没有这样做的话,你正在使用现有的系统启动脚本和包pipe理。

首先运行下面的命令:

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

如果后缀主守护进程认为它正在运行(该命令需要在你的path中工作),该命令应该返回一个非零值(即1)。

pid文件的位置是/var/spool/postfix/pid/master.pid,详见master(8)联机帮助页

 man 8 master 

获取更多信息。

这个问题似乎仍然存在于当前版本的postfix中。

为了避免postfix的麻烦,不要使用service postfix start ,也不要使用/etc/init.d/postfix start来启动它。 相反,使用postfix start ; postfix stop ; 和提供相同的function但实际工作的postfix status