Documentation
¶
Overview ¶
Package svc_runtime provides cross-platform abstractions for managing system services (such as systemd on Linux, launchd on macOS, and NSSM on Windows) used to run and control background application processes. It defines core service management interfaces and lifecycle operations, with concrete platform-specific implementations located in the internal/svc_runtime package.
Index ¶
- func GetSvcMgrName() string
- type LaunchdManager
- func (l *LaunchdManager) Install(name, desc, runCmd, workDir string, envVars map[string]string) error
- func (l *LaunchdManager) Remove(name string) error
- func (l *LaunchdManager) Start(name string) error
- func (l *LaunchdManager) Status(name string) (string, error)
- func (l *LaunchdManager) Stop(name string) error
- type NSSMManager
- type ServiceManager
- type SystemdManager
- func (s *SystemdManager) Install(name, desc, runCmd, workDir string, envVars map[string]string) error
- func (s *SystemdManager) Remove(name string) error
- func (s *SystemdManager) Start(name string) error
- func (s *SystemdManager) Status(name string) (string, error)
- func (s *SystemdManager) Stop(name string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSvcMgrName ¶
func GetSvcMgrName() string
Types ¶
type LaunchdManager ¶
type LaunchdManager struct{}
func (*LaunchdManager) Install ¶
func (l *LaunchdManager) Install(name, desc, runCmd, workDir string, envVars map[string]string) error
func (*LaunchdManager) Remove ¶
func (l *LaunchdManager) Remove(name string) error
func (*LaunchdManager) Start ¶
func (l *LaunchdManager) Start(name string) error
func (*LaunchdManager) Stop ¶
func (l *LaunchdManager) Stop(name string) error
type NSSMManager ¶
type NSSMManager struct{}
func (*NSSMManager) Install ¶
func (n *NSSMManager) Install(name, desc, runCmd, workDir string, envVars map[string]string) error
func (*NSSMManager) Remove ¶
func (n *NSSMManager) Remove(name string) error
func (*NSSMManager) Start ¶
func (n *NSSMManager) Start(name string) error
func (*NSSMManager) Stop ¶
func (n *NSSMManager) Stop(name string) error
type ServiceManager ¶
type ServiceManager interface {
Status(name string) (string, error)
Install(name, desc, runCmd, workDir string, envVars map[string]string) error
Start(name string) error
Stop(name string) error
Remove(name string) error
}
ServiceManager defines the interface for service management across platforms
func SvcRuntime ¶
func SvcRuntime() (ServiceManager, error)
type SystemdManager ¶
type SystemdManager struct{}
func (*SystemdManager) Install ¶
func (s *SystemdManager) Install(name, desc, runCmd, workDir string, envVars map[string]string) error
func (*SystemdManager) Remove ¶
func (s *SystemdManager) Remove(name string) error
func (*SystemdManager) Start ¶
func (s *SystemdManager) Start(name string) error
func (*SystemdManager) Stop ¶
func (s *SystemdManager) Stop(name string) error
Click to show internal directories.
Click to hide internal directories.