#service #rewritten #sv #runit #command #systemd #sudo

app rsv

The runit sv command rewritten in rust with additional features

5 stable releases

1.3.3 Dec 5, 2020
1.3.2 Dec 1, 2020
1.3.1 Oct 19, 2020
1.1.0 Oct 19, 2020

#748 in Unix APIs

GPL-3.0 license

34KB
893 lines

rsv

The runit sv command rewritten in rust with nice new features.

Additional features

  • Enable/Disable services (automatically creating the symlink)
  • Bash completion
  • Listing services
  • Custom timeout
  • Much cleaner code than the original sv command
  • Automatically use sudo if ran as user (feature: auto_sudo. Used by default)

Installation

From my pacman repository

(Add the repo like described)
pacman -S rsv

AUR

yay -S rsv (Other AUR helpers will work too)

From crates.io

cargo install rsv

From git

git clone https://github.com/JojiiOfficial/rsv
cd rsv
cargo build --release

Usage

rsv 1.1.0
Jojii S
A tool to maintain runit services like systemd services

USAGE:
    rsv [FLAGS] [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -v, --verbose    
    -V, --version    Prints version information

OPTIONS:
    -t, --timeout <timeout>    

SUBCOMMANDS:
    list         List services
    enable       Enable a service
    disable      Disable a service
    start        Start a service
    stop         Stop a service
    restart      Restart a service
    kill         Send SIGKILL if the service is running
    pause        Send SIGSTOP if the service is running
    continue     Send SIGCONT if the service is running
    alarm        Send SIGALARM if the service is running
    help         Prints this message or the help of the given subcommand(s)
    hup          Send SIGHUP if the service is running
    interrupt    Send SIGINT if the service is running
    once         Start if service is not running. Do not restart if it stops
    status       Get the status of a service
    term         Send SIGTERM if the service is running

Examples

sudo rsv list --disabled/--enabled # list all disabled/enabled services 
sudo rsv list --enabled --down # list all enabled services which aren't running
sudo rsv enable cupsd # enabled cupsd
sudo rsv start cupsd # start cupsd service (enable if service is disabled)

TODO

  • Listing services
  • Shell completion
  • Auto sudo

Dependencies

~3–4.5MB
~93K SLoC