proc

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2020 License: Apache-2.0 Imports: 23 Imported by: 2

Documentation

Index

Constants

View Source
const InitPidFile = "init.pid"

InitPidFile name of the file that contains the init pid

View Source
const RunscRoot = "/run/containerd/runsc"

RunscRoot is the path to the root runsc state directory

Variables

View Source
var ExitCh = make(chan Exit, bufferSize)

ExitCh is the exit events channel for containers and exec processes inside the sandbox.

Functions

func NewRunsc

func NewRunsc(root, path, namespace, runtime string, config map[string]string) *runsc.Runsc

NewRunsc returns a new runsc instance for a process

Types

type CreateConfig

type CreateConfig struct {
	ID       string
	Bundle   string
	Runtime  string
	Rootfs   []Mount
	Terminal bool
	Stdin    string
	Stdout   string
	Stderr   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 Exit

type Exit struct {
	Timestamp time.Time
	ID        string
	Status    int
}

Exit is the type of exit events

type Init

type Init struct {
	WorkDir string

	Bundle string

	Platform proc.Platform

	Rootfs  string
	IoUID   int
	IoGID   int
	Sandbox bool
	UserLog string
	Monitor ProcessMonitor
	// contains filtered or unexported fields
}

Init represents an initial process for a container

func New

func New(id string, runtime *runsc.Runsc, stdio proc.Stdio) *Init

New returns a new init process

func (*Init) Create

func (p *Init) Create(ctx context.Context, r *CreateConfig) (err error)

Create the process with the provided config

func (*Init) Delete

func (p *Init) Delete(ctx context.Context) error

Delete the init process

func (*Init) Exec

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

Exec returns a new child 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) Kill

func (p *Init) Kill(ctx context.Context, signal uint32, all bool) error

Kill the init 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) Resize

func (p *Init) Resize(ws console.WinSize) error

Resize the init processes console

func (*Init) Runtime

func (p *Init) Runtime() *runsc.Runsc

Runtime returns the OCI runtime configured for the init process

func (*Init) SetExited

func (p *Init) SetExited(status int)

SetExited of the init process with the next status

func (*Init) Start

func (p *Init) Start(ctx context.Context) error

Start 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() proc.Stdio

Stdio of the process

func (*Init) Wait

func (p *Init) Wait()

Wait for the process to exit

type Mount

type Mount struct {
	Type    string
	Source  string
	Target  string
	Options []string
}

Mount holds filesystem mount configuration

type ProcessMonitor

type ProcessMonitor interface {
	// Subscribe to process exit changes
	Subscribe() chan runc.Exit
	// Unsubscribe to process exit changes
	Unsubscribe(c chan runc.Exit)
}

ProcessMonitor monitors process exit changes

Jump to

Keyboard shortcuts

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