9 type supervisor interface {
14 func newSupervisor(name, cmd string, args ...string) supervisor {
22 type systemdUnit struct {
28 func (u *systemdUnit) Start() error {
29 cmd := exec.Command("systemd-run", append([]string{"--unit=arvados-"+u.name, u.cmd}, u.args...)...)
30 cmd.Stdout = os.Stderr
31 cmd.Stderr = os.Stderr
34 err = fmt.Errorf("systemd-run: %s", err)
39 func (u *systemdUnit) Check() (bool, error) {
40 cmd := exec.Command("systemctl", "status", "arvados-"+u.name)
41 cmd.Stdout = os.Stderr
42 cmd.Stderr = os.Stderr