Documentation ¶
Overview ¶
exec is extension of the standard os.exec package. Adds a handy dandy interface and assorted other features.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // for equivalence with os/exec ErrNotFound = exec.ErrNotFound LookPath = exec.LookPath )
Functions ¶
func IsCmdNotFound ¶
IsCmdNotFound reports true if the underlying error was exec.ErrNotFound.
func MaybeExec ¶
func MaybeExec()
MaybeExec should be called at the start of the program, if the process argv[0] is a name registered with multicall, the related function will be executed. If the functions returns an error, it will be printed to stderr and will exit with an exit status of 1, otherwise it will exit with a 0 exit status.
Types ¶
type Cmd ¶
type Cmd interface { // Methods provided by exec.Cmd CombinedOutput() ([]byte, error) Output() ([]byte, error) Run() error Start() error StderrPipe() (io.ReadCloser, error) StdinPipe() (io.WriteCloser, error) StdoutPipe() (io.ReadCloser, error) Wait() error // Simplified wrapper for Process.Kill + Wait Kill() error // Simplified wrapper for Process.Pid Pid() int // Simplified wrapper to know if a process was signaled Signaled() bool }
An exec.Cmd compatible interface.
type Entrypoint ¶
type Entrypoint string
Entrypoint provides the access to a multicall command.
func NewEntrypoint ¶
func NewEntrypoint(name string, fn entrypointFn) Entrypoint
NewEntrypoint adds a new multicall command. name is the command name and fn is the function that will be executed for the specified command. It returns the related Entrypoint. Packages adding new multicall commands should call Add in their init function.
func (Entrypoint) Command ¶
func (e Entrypoint) Command(args ...string) *ExecCmd
Command will prepare the *ExecCmd for the given entrypoint, configured with the provided args.
func (Entrypoint) Sudo ¶
func (e Entrypoint) Sudo(args ...string) *ExecCmd
Sudo will prepare the *ExecCmd for the given entrypoint to be run as root via sudo with the provided args.