proc

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2017 License: Apache-2.0, CC-BY-4.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const InitPidFile = "init.pid"

InitPidFile name of the file that contains the init pid

View Source
const RuncRoot = "/run/containerd/runc"

RuncRoot is the path to the root runc state directory

Variables

This section is empty.

Functions

func NewRunc

func NewRunc(root, path, namespace, runtime, criu string, systemd bool) *runc.Runc

NewRunc returns a new runc instance for a process

Types

type CheckpointConfig

type CheckpointConfig struct {
	Path    string
	Options *google_protobuf.Any
}

CheckpointConfig holds task checkpoint configuration

type CreateConfig

type CreateConfig struct {
	ID               string
	Bundle           string
	Runtime          string
	Rootfs           []*containerd_types.Mount
	Terminal         bool
	Stdin            string
	Stdout           string
	Stderr           string
	Checkpoint       string
	ParentCheckpoint string
	Options          *google_protobuf.Any
}

CreateConfig hold task creation configuration

type ExecConfig

type ExecConfig struct {
	ID       string
	Terminal bool
	Stdin    string
	Stdout   string
	Stderr   string
	Spec     *google_protobuf.Any
}

ExecConfig holds exec creation configuration

type Init

type Init struct {
	IoUID int
	IoGID int
	// contains filtered or unexported fields
}

Init represents an initial process for a container

func New

func New(context context.Context, path, workDir, runtimeRoot, namespace, criu string, systemdCgroup bool, platform Platform, r *CreateConfig) (*Init, error)

New returns a new init process

func (*Init) Exec

func (p *Init) Exec(context context.Context, path string, r *ExecConfig) (Process, error)

Exec returns a new exec'd process

func (*Init) ExitStatus

func (p *Init) ExitStatus() int

ExitStatus of the process

func (*Init) ExitedAt

func (p *Init) ExitedAt() time.Time

ExitedAt at time when the process exited

func (*Init) ID

func (p *Init) ID() string

ID of the process

func (*Init) KillAll

func (p *Init) KillAll(context context.Context) error

KillAll processes belonging to the init process

func (*Init) Pid

func (p *Init) Pid() int

Pid of the process

func (*Init) Runtime

func (p *Init) Runtime() *runc.Runc

Runtime returns the OCI runtime configured for the init process

func (*Init) Status

func (p *Init) Status(ctx context.Context) (string, error)

Status of the process

func (*Init) Stdin

func (p *Init) Stdin() io.Closer

Stdin of the process

func (*Init) Stdio

func (p *Init) Stdio() Stdio

Stdio of the process

func (*Init) Wait

func (p *Init) Wait()

Wait for the process to exit

type Platform

type Platform interface {
	CopyConsole(ctx context.Context, console console.Console, stdin, stdout, stderr string,
		wg, cwg *sync.WaitGroup) (console.Console, error)
	ShutdownConsole(ctx context.Context, console console.Console) error
	Close() error
}

Platform handles platform-specific behavior that may differs across platform implementations

type Process

type Process interface {
	State
	// ID returns the id for the process
	ID() string
	// Pid returns the pid for the process
	Pid() int
	// ExitStatus returns the exit status
	ExitStatus() int
	// ExitedAt is the time the process exited
	ExitedAt() time.Time
	// Stdin returns the process STDIN
	Stdin() io.Closer
	// Stdio returns io information for the container
	Stdio() Stdio
	// Status returns the process status
	Status(context.Context) (string, error)
	// Wait blocks until the process has exited
	Wait()
}

Process on a linux system

type State

type State interface {
	// Resize resizes the process console
	Resize(ws console.WinSize) error
	// Start execution of the process
	Start(context.Context) error
	// Delete deletes the process and its resourcess
	Delete(context.Context) error
	// Kill kills the process
	Kill(context.Context, uint32, bool) error
	// SetExited sets the exit status for the process
	SetExited(status int)
}

State of a process

type Stdio

type Stdio struct {
	Stdin    string
	Stdout   string
	Stderr   string
	Terminal bool
}

Stdio of a process

func (Stdio) IsNull

func (s Stdio) IsNull() bool

IsNull returns true if the stdio is not defined

Jump to

Keyboard shortcuts

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