kleinCommand/commands/service/subcommands/stopParrotService.go
2025-07-20 18:46:55 +02:00

37 lines
761 B
Go

package subcommands
import (
"context"
"github.com/DariusKlein/kleinCommand/common"
"github.com/urfave/cli/v3"
"log/slog"
)
// StopParrotService Command
func StopParrotService() *cli.Command {
return &cli.Command{
Name: "stop",
Usage: "stop parrot service",
Action: stopParrotServiceAction,
}
}
// templateAction logic for Template
func stopParrotServiceAction(context context.Context, c *cli.Command) error {
conn, err := common.GetSocketConnection(common.ParrotServiceSocketPath)
if err != nil {
slog.ErrorContext(context, err.Error())
return err
}
defer conn.Close()
// Send the shutdown command.
_, err = conn.Write([]byte("shutdown\n"))
if err != nil {
slog.ErrorContext(context, err.Error())
return err
}
return nil
}