 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
      Index ¶
- Constants
- func FromError(err error) string
- func FromErrorCode(err error) int
- func ProcessesCount() int32
- type Command
- func (c *Command) Environ() []string
- func (c *Command) Exit() error
- func (c *Command) OneLine() (string, error)
- func (c *Command) Output() ([]byte, error)
- func (c *Command) Run() error
- func (c *Command) RunEx() error
- func (c *Command) Start() error
- func (c *Command) StderrPipe() (io.ReadCloser, error)
- func (c *Command) StdinPipe() (io.WriteCloser, error)
- func (c *Command) StdoutPipe() (io.ReadCloser, error)
- func (c *Command) String() string
- func (c *Command) UseTime() time.Duration
- func (c *Command) Wait() error
 
- type LimitStderr
- type RunOpts
- type Shepherder
Constants ¶
      View Source
      
  
    const ( STDERR_BUFFER_LIMIT = 8 * 1024 STDERR_BUFFER_GROUP = 512 )
      View Source
      
  
const (
	NoDir = ""
)
    Variables ¶
This section is empty.
Functions ¶
func FromErrorCode ¶
func ProcessesCount ¶
func ProcessesCount() int32
ProcessesCount: Get the number of child processes of the default shepherd
Types ¶
type Command ¶
type Command struct {
	// contains filtered or unexported fields
}
    func NewFromOptions ¶
Create an isolated process based on shepherd
func (*Command) StderrPipe ¶
func (c *Command) StderrPipe() (io.ReadCloser, error)
func (*Command) StdoutPipe ¶
func (c *Command) StdoutPipe() (io.ReadCloser, error)
type LimitStderr ¶
func NewStderr ¶
func NewStderr() *LimitStderr
func (*LimitStderr) Bytes ¶
func (w *LimitStderr) Bytes() []byte
type RunOpts ¶
type RunOpts struct {
	Environ   []string  // As environ
	ExtraEnv  []string  // append to env
	RepoPath  string    // dir
	Stderr    io.Writer // stderr
	Stdout    io.Writer // stdout
	Stdin     io.Reader // stdin
	Detached  bool      //Detached If true, the child process will not be terminated when the parent process ends
	NoSetpgid bool
}
    type Shepherder ¶
type Shepherder interface {
	// NewFromOptions: Create command with options
	NewFromOptions(ctx context.Context, opt *RunOpts, name string, arg ...string) *Command
	// New: Create a process with environment variable isolation
	New(ctx context.Context, repoPath string, name string, arg ...string) *Command
	// ProcessesCount: Get the number of child processes
	ProcessesCount() int32
}
    func NewShepherder ¶
func NewShepherder(b env.Builder) Shepherder
 Click to show internal directories. 
   Click to hide internal directories.