Skip to main content

Services

If a service is not running, work through the commands below to identify the cause.

note

The examples below use msh-pm-milter as the target service. The same commands apply to msh-pm-settings - replace msh-pm-milter with msh-pm-settings throughout.

msh-pm-milter service

Check the current status of the milter service.

systemctl status msh-pm-milter.service

The Active: line shows the current state. active (running) means the service is healthy. activating (auto-restart) means systemd is repeatedly restarting the service because it exits too quickly - investigate the logs below to find out why.

msh-pm-milter.service - MSH Postfix Milter (milter)
Loaded: loaded (/etc/systemd/system/msh-pm-milter.service; enabled; preset: enabled)
Active: activating (auto-restart) since Fri 2026-05-08 10:48:54 CDT; 4s ago
Invocation: fbe38354cf8c4cba8be0279b5ec44b1a
Process: 10920 ExecStart=/opt/msh-pm-milter/bin/msh-pm-milter (code=exited, status=0/SUCCESS)
Main PID: 10920 (code=exited, status=0/SUCCESS)
Mem peak: 75.6M
CPU: 1.554s

View the systemd journal to see when the service started and stopped.

sudo journalctl -u msh-pm-milter

"Deactivated successfully" means the process exited cleanly rather than crashing. Combined with auto-restart, this confirms the service starts, runs briefly, and exits on its own - rather than being killed.

May 08 10:37:19 debian systemd[1]: Started msh-pm-milter.service - MSH Postfix Milter (milter).
May 08 10:37:20 debian systemd[1]: msh-pm-milter.service: Deactivated successfully.
May 08 10:37:20 debian systemd[1]: msh-pm-milter.service: Consumed 1.467s CPU time, 72.9M memory peak.

Read the milter console log to see what the service reported before it exited.

sudo cat /opt/msh-pm-milter/var/log/milter.out

Cannot read settings! means the milter service cannot connect to the settings service (msh-pm-settings.service). Verify that the settings service is running before the milter starts.

SLF4J(I): Connected with provider of type [ch.qos.logback.classic.spi.LogbackServiceProvider]
Cannot read settings!

Read the structured application log for more detail.

sudo cat /opt/msh-pm-milter/var/log/msh-pm-milter.log

The ERROR line confirms the root cause.

10:51:33.263 [main] INFO msh.pm.milter.Entry - -------------------------------------------------------
10:51:33.266 [main] INFO msh.pm.milter.Entry - MSH Postfix Milter (milter)
10:51:33.267 [main] INFO msh.pm.milter.Entry - Version 1.0.0
10:51:33.267 [main] INFO msh.pm.milter.Entry - -------------------------------------------------------
10:51:33.439 [main] ERROR msh.pm.milter.Entry - Cannot read settings!