#1688 SystemD modifies the PID file, causes service to not stop/start when using systemctl
What steps will reproduce the problem?
1. `systemctl stop prosody`
2. `prosodyctl start`
3. `systemctl start prosody`
What is the expected output?
On step one, the Prosody server should completely stop, meaning that clients and servers cannot contact it.
On step two, the Prosody server should restart, and clients and servers should contact it. I am aware that you're not really supposed to use prosodyctl.
on step three, I'm not sure what should happen, perhaps do nothing as prosody is already running.
What do you see instead?
On step one, the pid file is destroyed, which means prosodyctl status reports that the server is off, and systemd reports that the service is off, but the service is still running, because clients/servers can connect to it.
On step two, the pid file is created again, but prosody doesn't change as its already running.
On step three, the command acts as a switch of sorts of the pid file. Running it destroys the pid file, running it again creates it, running it once more destroys it.
This means that systemctl is not correctly commanding prosody to terminate and start as you would expect.
What version of the product are you using? On what operating system?
I was using Fedora 34 on version 0.11.10, using the prosody-0.11.10-1.fc34.rpm package specifically.
Please provide any additional information below.
I am monitoring the pid file placed in the default config's path, in /run/prosody.
Zash asked me to report this earlier today.
Thanks for filing the issue. We do need to investigate pidfile handling some more.