后缀启动错误端口25:地址已在使用中

我试图在我的服务器上运行postfix,但在/var/log/mail.log不断收到以下错误:

postfix / master [5041]:致命:绑定0.0.0.0端口25:地址已在使用中

我做了一些搜索,并找到了Oli(关于这个问题)的优秀答案 ,其中建议我基本上摆脱我的服务器sendmail包以避免冲突,然后重新安装postfix,后者将依次安装自己的sendmail品牌。 不幸的是,它并没有完全解决问题(见下文)。

我按照说明操作并运行了以下检查,我收到了令人鼓舞的答复:

 $ dpkg -S `which sendmail` postfix: /usr/sbin/sendmail 

但是,当我再次启动postfix时,我得到了同样的错误。

根据Oli的意外情况,我查找了使用以下方法占用端口25的过程:

 $ sudo netstat -pel | grep smtp tcp 0 0 localhost.localdom:smtp *:* LISTEN root 35704126 27626/sendmail: MTA 

但是这里让人感到困惑:然后我找了27626流程27626但随后被告知:

dpkg-query:找不到匹配模式27626的路径
连接

我拉起了htop并且能够找到与以下命令相关的上述PID:

sendmail:MTA:接受连接

然后我试图用killall sendmailkillall 27626杀死进程并且一直no process found

问题是 (除了显而易见的)我不知道如何解释这些发现。 我擦洗了sendmail的服务器,所以我只能假设postfix自己的sendmail版本正在劫持端口? 我甚至不知道这是否有意义。

无论如何,如果有人能够让我直截了当或者至少提出一些有趣的诊断问题,我会很感激。

如果它有用,我在服务器上使用virtualmin来管理几个不同的域,并且还运行wordpress。

提前谢谢了!

为了回应的请求,我在下面发布了ps -ef

 root@upsmart:~# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jan12 ? 00:00:00 init root 2 1 0 Jan12 ? 00:00:00 [kthreadd/20017] root 3 2 0 Jan12 ? 00:00:00 [khelper/20017] root 68 1 0 Jan12 ? 00:00:00 upstart-udev-bridge --daemon root 75 1 0 Jan12 ? 00:00:00 /sbin/udevd --daemon root 110 1 0 Jan12 ? 00:00:00 /usr/sbin/sshd -D root 130 75 0 Jan12 ? 00:00:00 /sbin/udevd --daemon root 131 75 0 Jan12 ? 00:00:00 /sbin/udevd --daemon root 175 1 0 Jan12 ? 00:00:00 upstart-socket-bridge --daemon 116 205 1 0 Jan12 ? 00:00:03 dbus-daemon --system --fork --activation=upstart root 385 1 0 Jan12 ? 00:00:00 /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf root 386 1 0 Jan12 ? 00:00:04 cron mysql 410 1 0 Jan12 ? 00:08:06 /usr/sbin/mysqld dovecot 441 385 0 Jan12 ? 00:00:00 dovecot/anvil root 442 385 0 Jan12 ? 00:00:00 dovecot/log root 444 385 0 Jan12 ? 00:00:00 dovecot/config syslog 445 1 0 Jan12 ? 00:00:08 /sbin/syslogd -u syslog bind 474 1 0 Jan12 ? 00:00:12 /usr/sbin/named -u bind clamav 844 1 0 Jan12 ? 00:01:34 /usr/sbin/clamd clamav 951 1 0 Jan12 ? 00:03:27 /usr/bin/freshclam -d --quiet list 969 1 0 Jan12 ? 00:00:00 /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s -q start list 970 969 0 Jan12 ? 00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 - list 971 969 0 Jan12 ? 00:01:10 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1 list 972 969 0 Jan12 ? 00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=CommandRunner:0: list 973 969 0 Jan12 ? 00:01:07 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=IncomingRunner:0 list 974 969 0 Jan12 ? 00:01:01 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 - list 976 969 0 Jan12 ? 00:01:05 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0 list 978 969 0 Jan12 ? 00:01:06 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1 list 980 969 0 Jan12 ? 00:00:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1 root 1410 1 0 Jan12 ? 00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r root 1413 1410 0 Jan12 ? 00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r root 2034 1 0 Jan12 ? 00:00:09 /usr/bin/perl /usr/share/usermin/miniserv.pl /etc/usermin/miniserv.con proftpd 2054 1 0 Jan12 ? 00:00:07 proftpd: (accepting connections) root 2096 1 0 Jan12 ? 00:00:13 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf root 2173 1 0 Jan12 ? 00:00:15 /usr/sbin/console-kit-daemon --no-daemon root 2241 1 0 Jan12 ? 00:00:07 /usr/lib/policykit-1/polkitd --no-debug root 4895 1 0 03:15 ? 00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -in www-data 6494 30181 0 03:41 ? 00:00:06 /usr/sbin/apache2 -k start www-data 6497 30181 0 03:42 ? 00:00:06 /usr/sbin/apache2 -k start www-data 6499 30181 0 03:42 ? 00:00:06 /usr/sbin/apache2 -k start www-data 6500 30181 0 03:42 ? 00:00:07 /usr/sbin/apache2 -k start root 9477 30027 0 05:09 pts/5 00:00:00 sudo ps -ef root 9478 9477 0 05:09 pts/5 00:00:00 ps -ef root 27626 1 0 02:44 ? 00:00:00 sendmail: MTA: accepting connections root 27902 110 0 02:51 ? 00:00:01 sshd: root@pts/4 root 27998 27902 0 02:51 pts/4 00:00:01 -bash root 29931 110 0 02:59 ? 00:00:03 sshd: root@pts/5 root 30027 29931 0 02:59 pts/5 00:00:00 -bash root 30181 1 0 03:00 ? 00:00:02 /usr/sbin/apache2 -k start www-data 30183 30181 0 03:00 ? 00:00:00 /usr/sbin/apache2 -k start www-data 30636 30181 0 03:06 ? 00:00:13 /usr/sbin/apache2 -k start 

我有同样的问题,我做的只是停止发送邮件,重新启动postfix并使用以下命令重新启动sendmail:

 service sendmail stop service postfix restart service sendmail start 

一切都回来了。

那么答案是非常不满意的,但是在今天工作了几个小时之后,我重新启动了服务器并且postfix现在正在运行。 感谢所有提供一些见解的人。

我在Ubuntu 16.04.01 LTS上遇到了同样的问题。 /var/log/mail.log出现以下日志消息,并且无法发送出站邮件:

 postfix/master[5072]: fatal: bind 127.0.0.1 port 25: Address already in use 

我试图杀死sendmail时收到以下输出:

 $ sudo killall sendmail sendmail: no process found 

以下命令对我有用(无需重启服务器):

 sudo killall sendmail-mta sudo service postfix restart 

只需终止sendmail进程并再试一次:

 sudo kill 27626 

要么

 sudo killall sendmail 

对我来说,解决方案是sudo killall sendmail-mta

您可以使用fuser命令(以root身份)获取侦听端口25的所有进程的列表并将其终止。

 fuser -uv 25/tcp fuser -kuv 25/tcp