cmd, lib
[arvados.git] / lib / setup / systemd.go
1 package setup
2
3 import "fmt"
4
5 type systemdSupervisor struct {
6         daemon
7 }
8
9 func (ss *systemdSupervisor) Start() error {
10         cmd := command("systemd-run", append([]string{"--unit=arvados-" + ss.name, ss.prog}, ss.args...)...)
11         err := cmd.Run()
12         if err != nil {
13                 err = fmt.Errorf("systemd-run: %s", err)
14         }
15         return err
16 }
17
18 func (ss *systemdSupervisor) Running() (bool, error) {
19         return runStatusCmd("systemctl", "status", "arvados-"+ss.name)
20 }