reexec

package
v1.12.5 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

README

reexec

The reexec package facilitates the busybox style reexec of the docker binary that we require because of the forking limitations of using Go. Handlers can be registered with a name and the argv 0 of the exec of the binary will be used to find and execute custom init paths.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Command

func Command(args ...string) *exec.Cmd

Command returns *exec.Cmd which has Path as current binary. Also it setting SysProcAttr.Pdeathsig to SIGTERM. This will use the in-memory version (/proc/self/exe) of the current binary, it is thus safe to delete or replace the on-disk binary (os.Args[0]).

func CommandContext

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

CommandContext returns *exec.Cmd which has Path as current binary, and also sets SysProcAttr.Pdeathsig to SIGTERM. This will use the in-memory version (/proc/self/exe) of the current binary, it is thus safe to delete or replace the on-disk binary (os.Args[0]).

func Init

func Init() bool

Init is called as the first part of the exec process and returns true if an initialization function was called.

func Register

func Register(name string, initializer func())

Register adds an initialization func under the specified name

func Self

func Self() string

Self returns the path to the current process's binary. Returns "/proc/self/exe".

Types

This section is empty.

Jump to

Keyboard shortcuts

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