daemon

package
v2.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2026 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SpawnDaemon

func SpawnDaemon(cfg *config.Instance) (cleanup func(), err error)

SpawnDaemon spawns a daemon subprocess for service isolation (e.g., TUI mode). It waits for the service API to become available and returns a cleanup function. The cleanup function sends SIGTERM and waits for graceful shutdown with timeout. Returns a no-op cleanup function if service was already running.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

func NewService

func NewService(args ServiceArgs) (*Service, error)

func (*Service) Pid

func (s *Service) Pid() (int, error)

Pid returns the process ID of the current running service daemon.

func (*Service) Restart

func (s *Service) Restart() error

func (*Service) Running

func (s *Service) Running() bool

Running returns true if the service is running.

func (*Service) ServiceHandler

func (s *Service) ServiceHandler(cmd *string) error

func (*Service) Start

func (s *Service) Start() error

Start a new service daemon in the background.

func (*Service) Stop

func (s *Service) Stop() error

Stop the service daemon.

func (*Service) WaitForAPI

func (s *Service) WaitForAPI(cfg *config.Instance, maxWait, checkInterval time.Duration) error

WaitForAPI waits for the service API to become available with health monitoring. Returns nil if API became available, error if timeout or process crashed.

type ServiceArgs

type ServiceArgs struct {
	Platform platforms.Platform
	Entry    ServiceEntry
	NoDaemon bool
}

type ServiceEntry

type ServiceEntry func() (func() error, <-chan struct{}, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL