runit - unable to open supervise/ok: file does not exist
Solution 1
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
Solution 2
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.
Solution 3
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
Solution 4
sudo runsv /service/run/ &
Then
sudo sv start /service/run/
or
sudo sv up /service/run/
Related videos on Youtube
Alexandr Kurilin
Updated on September 18, 2022Comments
-
Alexandr Kurilin almost 2 years
I'm trying to figure out why runit will not boot or give me the status for the managed applications. Running on Ubuntu 12.04.
I created /service, /etc/sv/myapp (with a run script, a config file, a log folder and a run script inside of it). I create a symlink from /service/ to /etc/sv/myapp
When I run
sudo sv s /service/*
I get the following error message:
warning: /service/myapp: unable to open supervice/ok: file does not exist
Some of my Googling revealed that supposedly rebooting the svscan service might fix this, but killing it and running svscanboot didn't make a difference.
Any suggestions? Am I missing a step here somewhere?
-
Dave Everitt over 3 yearsHad exactly this on Debian 10. The answer below to install
runit-systemd
fixed it for me—runit
has no systemd unit file.
-
-
Tanin over 7 yearsThanks for the answer. I've also learned that we can't add the log service after the service is installed to /etc/service. No amount of restarting works. Therefore, we can also stop the service, remove the symlink from /etc/service, and re-symlink it.
-
alfredocambera over 7 yearsDidn't know that
-
Dave Everitt over 3 yearsThis is the answer. Worked on Debian 10 too. Added a comment above.