DOKK / manpages / debian 11 / runit / update-service.8.en
update-service(8) System Manager's Manual update-service(8)

update-service - add/remove a service to/from system-wide service supervision

update-service --add|--remove service-directory [service-name]

update-service --list|--check [service-name]

update-service --auto|--noauto service-directory

service-directory must be a directory to be used by runsv(8), service-name must not start with a dot, and must not contain a slash.

update-service adds or removes the service-directory to the system-wide service supervision provided through runit 's runsvdir(8), lists all registered system-wide services, or checks for a specific service-name whether it is registered.

When adding a service, and the service-directory resides in /etc/, update-service makes sure that the ./supervise/ subdirectories in the service-directory, and the optional service-directory/log/, are symbolic links pointing into /var/lib/supervise/, unless they already are symbolic links.

Add the service directory service-directory to the system-wide service supervision, under the name service-name. If service-name is not specified, update-service will use the basename of service-directory. You can use the sv(8) program to control the newly added service, or query its status, e.g.:

# sv status service-name

Remove the service directory service-directory, which has been added under the name service-name, from the system-wide service supervision. If service-name is not specified, update-service will use the basename of service-directory. When removing the service-directory, the exit command is sent to the corresponding runsv(8) process, telling it to take the service down and exit afterwards. You can use the sv(8) program to control the removed service, or query its status, e.g.:

# sv status service-directory

When the service directory service-directory is removed, the service service-name will be marked as disabled by creating a .service-name symlink. This will prevent tools like dh_runit(1) and runit-helper from auto-enabling service-name at install or upgrade of the package that ships service-directory. The .service-name symlink will be removed as the service-directory is added again to the system-wide service supervision or when the package that ships service-directory is purged.

If service-name is specified, update-service checks whether service-name is registered as system-wide service, prints a message and exits non-zero if not, or prints the service-name and the directory it points to and exits zero if yes. If service-name is not specified, it prints the names of all system-widely registered services, one per line.
The same as --list, but update-service doesn't print anything to standard out or standard error.

Remove the down file, if any, from the directory service-directory. This way, the service represented by the service-directory will be started and monitored as soon as a runsv process is started for that directory; the requested status of the service will be 'up'. This is the default. If service-name is given, will be ignored as --auto directly act on the service-directory and thus only takes service-directory as argument.
Touch a down file into the service-directory. This way the service represented by service-directory will not be automatically started when a runsv process is started for that directory. The requested status of the service will be 'down'. A service set to --noauto does not start automatically at boot or when a runsvchdir(8) takes place, but can still be started using the sv(8) program, e.g.:

# sv up service-name

If service-name is given, will be ignored as --noauto directly act on the service-directory and thus only takes service-directory as argument.

The environment variable $SVDIR overrides the default services directory /etc/service/.

/etc/service/

sv(8), runsv(8), runsvdir(8)

http://smarden.org/runit/

Gerrit Pape <pape@smarden.org>