This is a problem I've experienced on Ubuntu 11.04, with the two upstart scripts I've made, for Node and Nginx. I'll use Node here as the example. I'm using a fairly standard setup as on tutorials like http://howtonode.org/deploying-node-upstart-monit:
start on started mountall
stop on shutdown
respawn
respawn limit 5 60
sudo -u username /usr/local/bin/node /path/to/app.js 2>&1 >> /var/log/node.log
Starts fine with "start app". But then I manually killed the node process to force a restart, and unfortunately upstart didn't respawn it. In fact, upstart won't respawn it no matter what I do. It shows the following, all the while not starting Node at all:
> sudo start app
app start/running, process 15211
> sudo stop app
stop: Unknown instance:
> sudo status app
app stop/waiting