func ctlStop(g *libkb.GlobalContext, components map[string]bool, wait time.Duration) error { if libkb.IsBrewBuild { return ctlBrewStop(g) } runMode := g.Env.GetRunMode() g.Log.Debug("Components: %v", components) errs := []error{} if ok := components[install.ComponentNameApp.String()]; ok { if err := install.TerminateApp(g, g.Log); err != nil { errs = append(errs, err) } } if ok := components[install.ComponentNameService.String()]; ok { if _, err := launchd.Stop(install.DefaultServiceLabel(runMode), wait, g.Log); err != nil { errs = append(errs, err) } } if ok := components[install.ComponentNameKBFS.String()]; ok { if _, err := launchd.Stop(install.DefaultKBFSLabel(runMode), wait, g.Log); err != nil { errs = append(errs, err) } } if ok := components[install.ComponentNameUpdater.String()]; ok { if _, err := launchd.Stop(install.DefaultUpdaterLabel(runMode), wait, g.Log); err != nil { errs = append(errs, err) } } return libkb.CombineErrors(errs...) }
func ctlStart(g *libkb.GlobalContext, components map[string]bool) error { if libkb.IsBrewBuild { return ctlBrewStart(g) } runMode := g.Env.GetRunMode() g.Log.Debug("Components: %v", components) errs := []error{} if ok := components[install.ComponentNameService.String()]; ok { if err := startLaunchdService(g, install.DefaultServiceLabel(runMode), g.Env.GetServiceInfoPath(), true); err != nil { errs = append(errs, err) g.Log.Errorf("%s", err) } } if ok := components[install.ComponentNameKBFS.String()]; ok { if err := startLaunchdService(g, install.DefaultKBFSLabel(runMode), g.Env.GetKBFSInfoPath(), true); err != nil { errs = append(errs, err) g.Log.Errorf("%s", err) } } if ok := components[install.ComponentNameUpdater.String()]; ok { if err := launchd.Start(install.DefaultUpdaterLabel(runMode), defaultLaunchdWait, g.Log); err != nil { errs = append(errs, err) g.Log.Errorf("%s", err) } } if ok := components[install.ComponentNameApp.String()]; ok { if err := install.RunApp(g, g.Log); err != nil { errs = append(errs, err) g.Log.Errorf("%s", err) } } return libkb.CombineErrors(errs...) }
func (v *CmdLaunchdStatus) ParseArgv(ctx *cli.Context) error { args := ctx.Args() if len(args) < 1 { return fmt.Errorf("No service name specified.") } // Resolve any label "aliases" labelStr := args[0] switch labelStr { case "service": labelStr = install.DefaultServiceLabel(v.G().Env.GetRunMode()) case "kbfs": labelStr = install.DefaultKBFSLabel(v.G().Env.GetRunMode()) case "updater": labelStr = install.DefaultUpdaterLabel(v.G().Env.GetRunMode()) } label, err := install.NewServiceLabel(labelStr) if err != nil { return err } v.label = label v.format = ctx.String("format") return nil }
func ctlBrewStop(g *libkb.GlobalContext) error { _, err := launchd.Stop(install.DefaultServiceLabel(g.Env.GetRunMode()), defaultLaunchdWait, g.Log) return err }
func ctlBrewStart(g *libkb.GlobalContext) error { return startLaunchdService(g, install.DefaultServiceLabel(g.Env.GetRunMode()), g.Env.GetServiceInfoPath(), true) }