process

package
v2.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2016 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
)
View Source
const (
	PrioProcess = 0 // linux/resource.h
)

Variables

View Source
var ErrorNoChildren = errors.New("process does not have children")

Functions

func PidExists

func PidExists(pid int32) (bool, error)

func Pids

func Pids() ([]int32, error)

Types

type IOCountersStat

type IOCountersStat struct {
	ReadCount  uint64 `json:"readCount"`
	WriteCount uint64 `json:"writeCount"`
	ReadBytes  uint64 `json:"readBytes"`
	WriteBytes uint64 `json:"writeBytes"`
}

func (IOCountersStat) String

func (i IOCountersStat) String() string

type MemoryInfoExStat

type MemoryInfoExStat struct {
	RSS    uint64 `json:"rss"`    // bytes
	VMS    uint64 `json:"vms"`    // bytes
	Shared uint64 `json:"shared"` // bytes
	Text   uint64 `json:"text"`   // bytes
	Lib    uint64 `json:"lib"`    // bytes
	Data   uint64 `json:"data"`   // bytes
	Dirty  uint64 `json:"dirty"`  // bytes
}

MemoryInfoExStat is different between OSes

func (MemoryInfoExStat) String

func (m MemoryInfoExStat) String() string

type MemoryInfoStat

type MemoryInfoStat struct {
	RSS  uint64 `json:"rss"`  // bytes
	VMS  uint64 `json:"vms"`  // bytes
	Swap uint64 `json:"swap"` // bytes
}

func (MemoryInfoStat) String

func (m MemoryInfoStat) String() string

type MemoryMapsStat

type MemoryMapsStat struct {
	Path         string `json:"path"`
	Rss          uint64 `json:"rss"`
	Size         uint64 `json:"size"`
	Pss          uint64 `json:"pss"`
	SharedClean  uint64 `json:"sharedClean"`
	SharedDirty  uint64 `json:"sharedDirty"`
	PrivateClean uint64 `json:"privateClean"`
	PrivateDirty uint64 `json:"privateDirty"`
	Referenced   uint64 `json:"referenced"`
	Anonymous    uint64 `json:"anonymous"`
	Swap         uint64 `json:"swap"`
}

func (MemoryMapsStat) String

func (m MemoryMapsStat) String() string

type NumCtxSwitchesStat

type NumCtxSwitchesStat struct {
	Voluntary   int64 `json:"voluntary"`
	Involuntary int64 `json:"involuntary"`
}

func (NumCtxSwitchesStat) String

func (p NumCtxSwitchesStat) String() string

type OpenFilesStat

type OpenFilesStat struct {
	Path string `json:"path"`
	Fd   uint64 `json:"fd"`
}

func (OpenFilesStat) String

func (o OpenFilesStat) String() string

type Process

type Process struct {
	Pid int32 `json:"pid"`
	// contains filtered or unexported fields
}

func NewProcess

func NewProcess(pid int32) (*Process, error)

NewProcess creates a new Process instance, it only stores the pid and checks that the process exists. Other method on Process can be used to get more information about the process. An error will be returned if the process does not exist.

func (*Process) CPUAffinity

func (p *Process) CPUAffinity() ([]int32, error)

func (*Process) Children

func (p *Process) Children() ([]*Process, error)

func (*Process) Cmdline

func (p *Process) Cmdline() (string, error)

Cmdline returns the command line arguments of the process as a string with each argument separated by 0x20 ascii character.

func (*Process) CmdlineSlice

func (p *Process) CmdlineSlice() ([]string, error)

CmdlineSlice returns the command line arguments of the process as a slice with each element being an argument.

func (*Process) Connections

func (p *Process) Connections() ([]net.ConnectionStat, error)

func (*Process) CreateTime

func (p *Process) CreateTime() (int64, error)

func (*Process) Cwd

func (p *Process) Cwd() (string, error)

func (*Process) Exe

func (p *Process) Exe() (string, error)

func (*Process) Gids

func (p *Process) Gids() ([]int32, error)

func (*Process) IOCounters

func (p *Process) IOCounters() (*IOCountersStat, error)

func (*Process) IOnice

func (p *Process) IOnice() (int32, error)

func (*Process) IsRunning

func (p *Process) IsRunning() (bool, error)

func (*Process) Kill

func (p *Process) Kill() error

func (*Process) MemoryInfo

func (p *Process) MemoryInfo() (*MemoryInfoStat, error)

func (*Process) MemoryInfoEx

func (p *Process) MemoryInfoEx() (*MemoryInfoExStat, error)

func (*Process) MemoryMaps

func (p *Process) MemoryMaps(grouped bool) (*[]MemoryMapsStat, error)

MemoryMaps get memory maps from /proc/(pid)/smaps

func (*Process) MemoryPercent

func (p *Process) MemoryPercent() (float32, error)

MemoryPercent returns how many percent of the total RAM this process uses

func (*Process) Name

func (p *Process) Name() (string, error)

func (*Process) NetIOCounters

func (p *Process) NetIOCounters(pernic bool) ([]net.IOCountersStat, error)

func (*Process) Nice

func (p *Process) Nice() (int32, error)

func (*Process) NumCtxSwitches

func (p *Process) NumCtxSwitches() (*NumCtxSwitchesStat, error)

func (*Process) NumFDs

func (p *Process) NumFDs() (int32, error)

func (*Process) NumThreads

func (p *Process) NumThreads() (int32, error)

func (*Process) OpenFiles

func (p *Process) OpenFiles() ([]OpenFilesStat, error)

func (*Process) Parent

func (p *Process) Parent() (*Process, error)

func (*Process) Percent

func (p *Process) Percent(interval time.Duration) (float64, error)

If interval is 0, return difference from last call(non-blocking). If interval > 0, wait interval sec and return diffrence between start and end.

func (*Process) Ppid

func (p *Process) Ppid() (int32, error)

func (*Process) Resume

func (p *Process) Resume() error

func (*Process) Rlimit

func (p *Process) Rlimit() ([]RlimitStat, error)

func (*Process) SendSignal

func (p *Process) SendSignal(sig syscall.Signal) error

func (*Process) Status

func (p *Process) Status() (string, error)

func (Process) String

func (p Process) String() string

func (*Process) Suspend

func (p *Process) Suspend() error

func (*Process) Terminal

func (p *Process) Terminal() (string, error)

func (*Process) Terminate

func (p *Process) Terminate() error

func (*Process) Threads

func (p *Process) Threads() (map[string]string, error)

func (*Process) Times

func (p *Process) Times() (*cpu.TimesStat, error)

func (*Process) Uids

func (p *Process) Uids() ([]int32, error)

func (*Process) Username

func (p *Process) Username() (string, error)

type RlimitStat

type RlimitStat struct {
	Resource int32 `json:"resource"`
	Soft     int32 `json:"soft"`
	Hard     int32 `json:"hard"`
}

func (RlimitStat) String

func (r RlimitStat) String() string

Jump to

Keyboard shortcuts

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