runit - unable to open supervise/ok: file does not exist

In my case I deleted the lock and pid from the service configuration after stopping the service:

# stops the service 
sv down serviceName

# deletes the 'pid' and 'lock' files
find -L /etc/service/serviceName -type f \( -name "pid" -o -name "lock" \) -delete

# starts the service
sv up serviceName

# verify service status
sv s serviceName

It took me a while to find the solution, so I hope it helps somebody else.


The problem was that, at least on Ubuntu 12.04, runit services symlinks should be placed under /etc/service, not /service as per the Arch guide on Runit


If you are running ubuntu 18.04 or higher and getting the following error

unable to open supervise/ok: file does not exist

or if the runsvdir is not showing up in "grep" output then please runit-systemd package by running the following command

sudo apt install runit-systemd

For ubuntu 18.04 all the above specified answers did not worked for me. I have then found this solution from another askubuntu question

I hope this helps