Você não disse para reaparecer.
Como o Cookbook Upstart diz ,
6.28
respawnWith this stanza, whenever the main script/exec exits, without the goal of the job having been changed to stop, the job will be started again.
6.29
respawn limitYes, this is different to a plain respawn: specifying
respawn limitdoes not implyrespawn.
Em outras palavras, você deve definir respawn mesmo se você também tiver respawn limit .