lecram / isv

interactive (TUI) service supervision for Runit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

isv - interactive service supervision
=====================================

This is a terminal user interface (TUI) for Runit service control.
It should also be compatible with daemontools, but I haven't tested that.
It's intended  to be a friendlier  version of Runit's sv  and daemontools' svc
programs.


Screenshot
----------

    $ isv
     name   active  main   log uptime
     cgit   no     21637 21636   12 m
    <cron   yes      332   329    3 d>
     rproxy yes      ---   330    ---

On the screen above, we can see that:
  - there are 3 services being currently supervised;
  - the pid of underlying processes are shown in columns "main" & "log";
  - service cgit is disabled (file "down" is present), but it's up;
  - service cron has been up for 3 days;
  - service rproxy is down;
  - service cron is selected to receive control commands.


Interaction
-----------

    KEY       ACTION
    ---       ------
    q         Quit isv
    j/k       Move selection cursor down/up
    SPACE     Enable/disable selected service (del/add "down" file)
    1/2       Send USR1/USR2 signal to selected service
    <UPPER>   Send command to selected service (e.g. 'U' -> 'up')

That is,  to control a  service, we  first move the  cursor (<>) using  j/k to
select it, then we press SHIFT+x, where x is the first character of one of the
commands supported by sv/svc:
    up, down, once, pause, cont, hup, alarm, interrupt, quit, term, kill


Installation
------------

This is just a single C source file with no external dependencies.
Of course we need Runit/daemontools in order to actually use it.

Do something like this to install:
  $ cc -o isv isv.c
  $ sudo mv isv /usr/bin/


Services Directory
------------------

The base directory for service location can be specified in several ways:
  - if an argument is passed to the isv(1) command, it's the base dir;
  - otherwise, if the SVDIR environment variable is set, it's the base dir;
  - otherwise, the base directory is /service/.

Note: make sure the user running isv(1) has access to service directories.


Copying
-------

All of the source  code and documentation for isv is  released into the public
domain and provided without warranty of any kind.

About

interactive (TUI) service supervision for Runit


Languages

Language:C 100.0%