I wrote a simple upstart job:

start on runlevel [2345]
stop on runlevel [016]

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.

1 Answer 1


it seems like your dnscrypt-proxy -E -R cisco-ipv6 need networking and your init script running before network and other needed service so write you script like

start on started networking 


start on network-interface-up INTERFACE=eth0 

if your service need file system then you can write

start on filesystem and started networking

and if this depend on other service also then include

start on started other-service

you can learn from here


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .