This bug is actually more of a bug in the start-stop-daemon-system. If I start postfix and postfix has a configuration error then I cannot restart postfix. Try: /etc/init.d/postfix stop mv /etc/services /etc/foo /etc/init.d/postfix start /etc/init.d/postfix stop -- fails as postfix did not start mv /etc/foo /etc/services /etc/init.d/postfix start -- fails as postfix is registered as started Now I know I can do 'zap'. But this will only work in the situation where a service is stopped while registered as started. It will not work in the situation where a service is running but is registered as stopped. I have previously used Mandrake and this was never a problem. Mandrake assumes that you know what you are doing and will try to its best effort to do what you want. You can do: service restart, even if the service is not started. This is very useful if you want to have service read its config-file but you don't know (or care) whether the service already running or not.
oddly enough, `postfix stop` will stop a running postfix program, no /etc/init.d/postfix needed
This is not odd. The /etc/init.d-script is just a wrapper for postfix. But the wrapper keeps bad info and this is the issue. You can also do a killall to stop postfix. But this still will not solve the real issue: bad info kept by the init.d-script.
I have been running postfix and actually I put together the latest build of postfix (1.1.11.20020917) for gentoo... Can you send me log information? If there is a problem with the script, I haven't experienced it.
I just did: emerge rsync; emerge postfix. I still get the error if I do /etc/init.d/postfix stop mv /etc/services /etc/foo /etc/init.d/postfix start /etc/init.d/postfix stop -- fails as postfix did not start mv /etc/foo /etc/services /etc/init.d/postfix start -- fails as postfix is registered as started I would very much like Gentoo to adopt the Mandrake/RedHat meaning of restart: Stop the service if you can. And no matter if that failed: start the service, because I probably know that the services is not running - even if you have registered it as running. I fairly often is in the situation where I am not sure if a service succesfully started or not. And I use restart for that.
I still have not seen any log information. the postfix script does have the ability to restart. If a service is registering as started and not starting there should be some relevant information in the system log regarding postfix failing. As I don't have the same issue I can't replicate the problem here. Please send me any log information found in your syslog output when starting postfix
This is a currently an unavoidable problem. If postfix were to start and get a PID... and then die for some other reason unexpectedly... the service MAY still register as started... In which case doing a /etc/init.d/postfix zap should reset the init system so you can restart via the init.d script after making needed configuration or system changes to get a properly starting postfix.