Documentation ¶
Overview ¶
Package execs функционал для работы с командами оболочки, запуск процессов и так далее
nolint: dupl
nolint: dupl
Index ¶
- Constants
- func Eval(expr string) (string, error)
- func InterruptHandler(ctx context.Context, handles ...func()) context.Context
- func NewCommand(path string, command Command) *exec.Cmd
- func Result(name string, command Command, writers ...io.Writer) (string, error)
- func Run(name string, command Command, writers ...io.Writer) error
- type BufferProvider
- type Command
- type Enverer
- type EvalCmd
- type ExitEvent
- type ExitTrace
- type Exiter
- type Member
- type Members
- type PrefixedWriter
- type Process
- type RunFunc
- type Runner
- type Session
- func (s *Session) Buffer() *iorw.Buffer
- func (s *Session) ErrLog() <-chan error
- func (s *Session) ExitCode() int
- func (s *Session) Interrupt() *Session
- func (s *Session) Kill() *Session
- func (s *Session) Signal(signal os.Signal) *Session
- func (s *Session) Terminate() *Session
- func (s *Session) Wait(timeout ...any) *Session
- type WorkingDirer
Constants ¶
const ( // InvalidExitCode - код возврата процесса "выход с ошибкой" InvalidExitCode = 254 // ExitCodePrefix - префикс кода возвращаемого процессом ExitCodePrefix = 128 )
Variables ¶
This section is empty.
Functions ¶
func InterruptHandler ¶
InterruptHandler - запускает обработчик сигналов прерывания программы и возвращает контекст с синхронизацией завершения работы
func NewCommand ¶
NewCommand - конструктор команды оболочки nolint
Types ¶
type BufferProvider ¶
BufferProvider - буферизируемый объект
type Enverer ¶
type Enverer interface {
Env() []string
}
Enverer - интерфейс объектов использующих переменные окружения
type EvalCmd ¶
type EvalCmd struct {
// contains filtered or unexported fields
}
EvalCmd - команда выполнения произвольного выражения в оболочке
func (*EvalCmd) SessionName ¶
SessionName - имя запускаемой сессии оболочки
type ExitTrace ¶ added in v1.1.2
type ExitTrace []ExitEvent
ExitTrace трассировка статусов завершений процессов
type PrefixedWriter ¶
type PrefixedWriter struct {
// contains filtered or unexported fields
}
PrefixedWriter - io.Writer с префексированным выводом
func NewPrefixedWriter ¶
func NewPrefixedWriter(prefix string, writer io.Writer) *PrefixedWriter
NewPrefixedWriter - конструктор префексированного io.Writer
type Process ¶
type Process interface { // Ready синхронизация готовности процесса Ready() <-chan struct{} // Wait синхронизация завершения процесса Wait() <-chan error // Signal отправка системного сигнала процессу Signal(os.Signal) }
Process интерфейс процесса
func Background ¶
Background - конструтор процесса запущенного в бэкграутнд моде
type Runner ¶
type Runner interface { // Run хэндлер функции стартера Run(signals <-chan os.Signal, ready chan<- struct{}) error }
Runner - стартер управляемого метода, объекта либо груупы таковых
func NewOrdered ¶
NewOrdered - конструктор группы последовательного запуска раннеров
func NewParallel ¶
NewParallel конструктор параллельного запуска раннеров группы
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session - враппер для запуска и управления процессом командной оболочки
func (*Session) ErrLog ¶
ErrLog - возвращает канал в который отправляются ошибки времени выполнения, можно использовать в логере
type WorkingDirer ¶
type WorkingDirer interface {
WorkingDir() string
}
WorkingDirer - интерфейс объектов использующих рабочую директорию