Documentation

Overview

    Package exec provides useful wrappers around the standard "exec" library.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Cmd

    type Cmd struct {
    	*exec.Cmd
    	// contains filtered or unexported fields
    }

      Cmd wraps exec.Cmd with a context to provide convenient execution of a command with nice checking of the context timeout in the form:

      err := exec.Prog().WithTimeout(5*time.Second, myprog, myargs...).CombinedOutput(log, verbose)

      func CommandContext

      func CommandContext(ctx context.Context, prog string, args ...string) *Cmd

        CommandContext wraps exec.CommandContext to allow this package to be used as a drop-in replacement for the standard exec library.

        func WithCancel

        func WithCancel(ctx context.Context, prog string, args ...string) (*Cmd, context.CancelFunc)

          WithCancel creates a Cmd with a context that can be cancelled by calling the resulting Cancel() function.

          func WithTimeout

          func WithTimeout(timeout time.Duration, prog string, args ...string) *Cmd

            WithTimeout creates a Cmd with a context that times out after the specified duration.

            func (*Cmd) CombinedOutput

            func (c *Cmd) CombinedOutput(scopedLog *logrus.Entry, verbose bool) ([]byte, error)

              CombinedOutput runs the command and returns its combined standard output and standard error. Unlike the standard library, if the context is exceeded, it will return an error indicating so.

              Logs any errors that occur to the specified logger.

              func (*Cmd) Output

              func (c *Cmd) Output(scopedLog *logrus.Entry, verbose bool) ([]byte, error)

                Output runs the command and returns only standard output, but not the standard error. Unlike the standard library, if the context is exceeded, it will return an error indicating so.

                Logs any errors that occur to the specified logger.

                func (*Cmd) WithFilters

                func (c *Cmd) WithFilters(filters ...string) *Cmd

                  WithFilters modifies the specified command to filter any output lines from logs if they contain any of the substrings specified as arguments to this function.

                  Source Files