Postfix Не удалось запустить: невозможно установить монопольную блокировку: ресурс временно недоступен

Postfix работал хорошо, пока я по какой-то причине не решил перезапустить, так как обновил message_size_limit

Сделав это

postconf -e message_size_limit = 24840000

Остановил его и сейчас. .. Postfix не запускается, он продолжает говорить

фатальный: открыть файл блокировки /var/lib/postfix/master.lock: невозможно установить эксклюзивную блокировку: ресурс временно недоступен

Я попытался отменить изменение, но безуспешно,

Sep 23 20:47:45 example.com systemd[1]: Starting Postfix Mail Transport Agent...
Sep 23 20:47:45 example.com postfix/postfix-script[13392]: starting the Postfix mail system
Sep 23 20:47:45 example.com postfix/master[13394]: fatal: open lock file /var/lib/postfix/master.lock: unable to set exclusive lock: Resource temporarily unavailable
Sep 23 20:47:46 example.com postfix/master[13393]: fatal: daemon initialization failure
Sep 23 20:47:47 example.com postfix/postfix-script[13395]: fatal: mail system startup failed
Sep 23 20:47:47 example.com systemd[1]: postfix.service: control process exited, code=exited status=1
Sep 23 20:47:47 example.com systemd[1]: Failed to start Postfix Mail Transport Agent.
Sep 23 20:47:47 example.com systemd[1]: Unit postfix.service entered failed state.
Sep 23 20:47:47 example.com systemd[1]: postfix.service failed.

Если бы это помогло , я также установил SSL из LetsEncrypt примерно две недели назад, возможно, это могло быть причиной проблемы?

1
задан 10 October 2016 в 20:38
1 ответ

Благодаря URL-адресу , предоставленному @ ryan-babchishin , это помогло прийти к решению

Проблема

Итак, я использовал systemctl для запуска, перезагрузки, остановки постфикса и добавлял других скрытых пользователей, я недавно обновил virtualmin , и продолжает использовать

#systemctl status postfix.service
#systemctl stop postfix.service
#systemctl start postfix.service

вместо

#postfix <start/stop>

Решение

Итак, это привело к тому, что master.lock используется другими пользователями, поэтому мы не можем изменить, что привело к

фатальному: сбой при запуске почтовой системы

Нам нужно только убить процесс и запустить постфикс

Теперь ...Проверьте, есть ли там файл

#ls -l /var/lib/postfix/master.lock

Найдите процесс, использующий его

#htop 

или просто выполните

#fuser /var/lib/postfix/master.lock
7881

Теперь

#ps -ef | grep 7881
root      7881     1  0 Sep16 ?        00:00:09 /usr/libexec/postfix/master -w
postfix   9127  7881  0 10:04 ?        00:00:00 pickup -l -t unix -u
postfix   9469  7881  0 10:13 ?        00:00:00 smtpd -n smtp -t inet -u -o stress= -o smtpd_sasl_auth_enable=yes
postfix   9470  7881  0 10:13 ?        00:00:00 proxymap -t unix -u
postfix   9471  7881  0 10:13 ?        00:00:00 smtpd -n smtp -t inet -u -o stress= -o smtpd_sasl_auth_enable=yes
postfix   9472  7881  0 10:13 ?        00:00:00 anvil -l -t unix -u
postfix   9476  7881  0 10:13 ?        00:00:00 trivial-rewrite -n rewrite -t unix -u
root      9486  8671  0 10:13 pts/0    00:00:00 grep --color=auto 7881
postfix  28581  7881  0 Sep17 ?        00:00:01 qmgr -l -t unix -u

Найдите процесс, который использует файл блокировки

Убейте процесс

#kill 7881

Теперь давайте получим назад к postfix

# postfix status
postfix/postfix-script: the Postfix mail system is not running

Теперь запустите

# postfix start
postfix/postfix-script: starting the Postfix mail system

Postfix снова работает!

Дайте мне поиграть в Sticky Bubble на Android , чтобы немного расслабиться :)

10
ответ дан 3 December 2019 в 16:17

Теги

Похожие вопросы