| 39 | } |
| 40 | |
| 41 | func (s *Systemd) IsExist(serviceName string) (bool, error) { |
| 42 | out, err := run(s.toolCmd, "is-enabled", serviceName) |
| 43 | switch strings.TrimSpace(out) { |
| 44 | case "enabled", "enabled-runtime", "disabled", "static", "indirect", "generated", "transient", "alias", "linked", "linked-runtime", "masked", "masked-runtime": |
| 45 | return true, err |
| 46 | } |
| 47 | if err != nil && out != "enabled\n" { |
| 48 | if NewSnap().IsExist(serviceName) { |
| 49 | return true, nil |
| 50 | } |
| 51 | return false, err |
| 52 | } |
| 53 | return true, err |
| 54 | } |
| 55 | |
| 56 | func (s *Systemd) Status(serviceName string) (string, error) { |
| 57 | return run(s.toolCmd, "status", serviceName) |