[00:27] hey guys, this is probably a dumb question but i cant wrap my head around how this works: http://pastie.org/private/z8biw4h8ddsoth4oe7iw i can see how it will "start" mongod, but what i dont understand is how it knows what to do to stop it [00:28] statim: "stop on runlevel [06]"? [00:29] broder: right, but what does it execute to stop it? [00:29] i only see a script for starting it [00:29] statim: it keeps track of the process that gets started and kills it [00:30] (well, sigterms it) [00:30] oh i see. so unlike init.d scripts it just needs to know how to start it, then the rest is process managed by upstart [00:31] yes. that's why the "expect" stanzas are so important when you create a new job [00:32] broder, and is restart provided automatically by this as well? or what if there was a specific signal the program new to use to restart itself like USR1? [00:32] knew* [00:32] "reload" is SIGHUP [00:32] "restart" is equivalent to "stop; start" iirc [00:33] ok cool [00:51] restart isn’t equivalent to stop; start. [00:51] See restart(8) [00:57] ah right. it's like "stop; don't-read-the-new-config; start" :) [06:20] does 'instance' really work? ive got instance JOB_1 in script1, instance JOB_2 in script2, but launch the same executable with different ports. but it seems they still conflict even with the different instance names given to them [06:55] ah nm, it looks like it was actually start-stop-daemon that was not allowing the second instance, not upstart. gave unique pidfile options to each start-stop-daemon and now it works [06:56] statim: instances are for starting a single job multiple times. upstart never needs instances for two distinct jobs [14:53] right, and the instance names could be used to create a unique pidfile [14:59] using "instance $PORT" or something like that [15:01] and using $PORT to provide the necessary options to the program and to start-stop-daemon [23:38] hey guys i have a job that remains at stop/killed, process 4930. that pid isnt running any more, and i cleaned out everything i can think of to get it back to a clean state, but it still keeps that status. is there a way to 'reset' it? [23:57] It’s easy to get the current version of Upstart confused by lying to it about the forking behavior of the main process with “expect”. If you don’t want to reboot, run workaround-upstart-snafu 4930. http://heh.fi/tmp/workaround-upstart-snafu [23:58] A future version will be more robust in that regard.