Occasionally one of my services will die for some reason. This leaves a file in the ${svcdir} (/var/lib/init.d/started). Then if I try /etc/init.d/{service} start I get a * WARNING: "{service}" has already been started. I must delete the file in the ${svcdir}/started, before I can start the service. In most cases the scripts should know how to check if the service is really running, but there is no way to do this, that I can see. A few ideas for this: 1. If some extra info was saved then this could be avoided. One idea would be to provide a way for the start method of a service to pass a pid to the svc_start method which could then store this pid in a file. Then service_started can see if this pid is running. 2. an optional method could be added the init.d scripts like check_status which would allow the script to check if its services are running or not. Reproducible: Always Steps to Reproduce: 1. 2. 3.
/etc/init.d/service zap start