code: func (service *Service) Manage() (string, error) {
  
  	usage := "Usage: cron_job install | remove | start | stop | status"
  	// If received any kind of command, do it
  	if len(os.Args) > 1 {
  		command := os.Args[1]
  		switch command {
  		case "install":
  			return service.Install()
  		case "remove":
  			return service.Remove()
  		case "start":
  			return service.Start()
  		case "stop":
  			// No need to explicitly stop cron since job will be killed
  			return service.Stop()
  		case "status":
  			return service.Status()
  		default:
  			return usage, nil
  		}
  	}
  	// Set up channel on which to send signal notifications.
  	// We must use a buffered channel or risk missing the signal
  	// if we're not ready to receive when the signal is sent.
  	interrupt := make(chan os.Signal, 1)
  	signal.Notify(interrupt, os.Interrupt, os.Kill, syscall.SIGTERM)
  
  	// Create a new cron manager
  	c := cron.New()
  	// Run makefile every min
  	c.AddFunc("* * * * * *", makeFile)
  	c.Start()
  	// Waiting for interrupt by system signal
  	killSignal := <-interrupt
  	stdlog.Println("Got signal:", killSignal)
  	return "Service exited", nil
  }
docs: // Manage by daemon commands or run the daemon