package reexec
import "github.com/docker/docker/pkg/reexec"
Package reexec facilitates the busybox style reexec of a binary.
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.
It is used in dockerd to work around forking limitations when using Go.
Index ¶
- func Command(args ...string) *exec.Cmd
- func Init() bool
- func Register(name string, initializer func())
- func Self() string
Functions ¶
func Command ¶
Command is unsupported on operating systems apart from Linux, Windows, and Darwin.
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. It panics if the given name is already registered.
func Self ¶
func Self() string
Self returns the path to the current process's binary. On Linux, it returns "/proc/self/exe", which provides the in-memory version of the current binary, whereas on other platforms it attempts to looks up the absolute path for os.Args[0], or otherwise returns os.Args[0] as-is.
Source Files ¶
command_unsupported.go reexec.go
- Version
- v27.4.0-rc.1+incompatible
- Published
- Nov 14, 2024
- Platform
- js/wasm
- Imports
- 5 packages
- Last checked
- 3 hours ago –
Tools for package owners.