Hide Forgot
Description of problem: using initctl emit to stop a server does work Version-Release number of selected component (if applicable): 0.6.5-10 How reproducible: Use openssl s_server as a test service. Create a cert and key for the test service: openssl req -newkey rsa:1024 -x509 -nodes -keyout server_key.pem -new -out server_cert.pem Create /etc/init/bounce.conf and insert the following text start on BounceOn stop on BounceOff stop on runlevel [0126] console none respawn respawn limit 5 5 pre-stop exec echo "pre-stop" pre-start exec echo "pre-start" post-start exec echo "post-start" exec openssl s_server -cert /root/server_cert.pem -key /root/server_key.pem Run: initctl emit BounceOn Verify that openssl is running: ps -ef | grep openssl Try and stop the service: initctl emit BounceOff Verify whether the service stopped: ps -ef | grep openssl Steps to Reproduce: 1. 2. 3. Actual results: service not stopped Expected results: service stopped Additional info:
Joe Nall pointed me at this statement: Only one event expression is permitted for each of start on and stop on, repeating the stanza will override the previously defined expression So I removed: stop on runlevel [0126] from the config file and tried to emit the BounceOff event but again the service didn't stop. I then rebooted the box and retried the experiment and it worked. My original test config file probably should have had: stop on BounceOff or on runlevel [S0126] This bug can be closed as it's not a bug but the man page should be altered to clarify how event expressions work. Also it's not clear why I had to reboot to affect the change when init monitors the config files.
Was the service running when you altered the configuration file? Upstart does not change "settings" for a service if it is running.
So I'd need to stop the service, edit the config and then restart it for the config changes to take affect?
If the job you have configured was running, the configuration will take affect after all instances of the job stops.