I wrote a simple upstart job:
start on runlevel  stop on runlevel  exec dnscrypt-proxy -E -R cisco-ipv6
It starts properly on boot, but is still not recognized by
service --status-all and
initctl list. I have searched the web and found some similar issues caused by syntax error, so I checked with
init-checkconf, and got a "syntax ok". Am I missing something?
I found this related question: Correct way to install a custom upstart service
It turns out that I was missing
sudo when running
initctl list. Still it does not expain why some service require root permission to be displayed, while others does not, as all
.conf files have exactly the same owner and permission.