40 lines
845 B
Go
Raw Normal View History

2025-07-20 00:47:03 +02:00
package subcommands
import (
"context"
"github.com/DariusKlein/kleinCommand/common"
"github.com/urfave/cli/v3"
"log/slog"
"net"
)
// StopServiceTemplate Command
func StopServiceTemplate() *cli.Command {
return &cli.Command{
Name: "stop service",
Aliases: []string{"stop"},
Usage: "template command usage",
Action: stopServiceTemplateAction,
ArgsUsage: "args usage",
}
}
// templateAction logic for Template
func stopServiceTemplateAction(context context.Context, c *cli.Command) error {
conn, err := net.Dial("unix", common.ExampleServiceSocketPath)
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
}