package process

import "github.com/shirou/gopsutil/process"

Index

Constants

const (
	RLIMIT_CPU        int32 = 0
	RLIMIT_FSIZE      int32 = 1
	RLIMIT_DATA       int32 = 2
	RLIMIT_STACK      int32 = 3
	RLIMIT_CORE       int32 = 4
	RLIMIT_RSS        int32 = 5
	RLIMIT_NPROC      int32 = 6
	RLIMIT_NOFILE     int32 = 7
	RLIMIT_MEMLOCK    int32 = 8
	RLIMIT_AS         int32 = 9
	RLIMIT_LOCKS      int32 = 10
	RLIMIT_SIGPENDING int32 = 11
	RLIMIT_MSGQUEUE   int32 = 12
	RLIMIT_NICE       int32 = 13
	RLIMIT_RTPRIO     int32 = 14
	RLIMIT_RTTIME     int32 = 15
)

Resource limit constants are from /usr/include/x86_64-linux-gnu/bits/resource.h from libc6-dev package in Ubuntu 16.10

Variables

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

Functions

func PidExists

func PidExists(pid int32) (bool, error)

func PidExistsWithContext

func PidExistsWithContext(ctx context.Context, pid int32) (bool, error)

func Pids

func Pids() ([]int32, error)

func PidsWithContext

func PidsWithContext(ctx context.Context) ([]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 {
}

type MemoryInfoStat

type MemoryInfoStat struct {
	RSS    uint64 `json:"rss"`    // bytes
	VMS    uint64 `json:"vms"`    // bytes
	Data   uint64 `json:"data"`   // bytes
	Stack  uint64 `json:"stack"`  // bytes
	Locked uint64 `json:"locked"` // 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"`
}

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)

func Processes

func Processes() ([]*Process, error)

func ProcessesWithContext

func ProcessesWithContext(ctx context.Context) ([]*Process, error)

func (*Process) CPUAffinity

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

func (*Process) CPUAffinityWithContext

func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error)

func (*Process) CPUPercent

func (p *Process) CPUPercent() (float64, error)

CPU_Percent returns how many percent of the CPU time this process uses

func (*Process) CPUPercentWithContext

func (p *Process) CPUPercentWithContext(ctx context.Context) (float64, error)

func (*Process) Children

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

func (*Process) ChildrenWithContext

func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error)

func (*Process) Cmdline

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

func (*Process) CmdlineSlice

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

func (*Process) CmdlineSliceWithContext

func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error)

func (*Process) CmdlineWithContext

func (p *Process) CmdlineWithContext(ctx context.Context) (string, error)

func (*Process) Connections

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

func (*Process) ConnectionsWithContext

func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error)

func (*Process) CreateTime

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

func (*Process) CreateTimeWithContext

func (p *Process) CreateTimeWithContext(ctx context.Context) (int64, error)

func (*Process) Cwd

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

func (*Process) CwdWithContext

func (p *Process) CwdWithContext(ctx context.Context) (string, error)

func (*Process) Exe

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

func (*Process) ExeWithContext

func (p *Process) ExeWithContext(ctx context.Context) (string, error)

func (*Process) Gids

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

func (*Process) GidsWithContext

func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error)

func (*Process) IOCounters

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

func (*Process) IOCountersWithContext

func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error)

func (*Process) IOnice

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

func (*Process) IOniceWithContext

func (p *Process) IOniceWithContext(ctx context.Context) (int32, error)

func (*Process) IsRunning

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

func (*Process) IsRunningWithContext

func (p *Process) IsRunningWithContext(ctx context.Context) (bool, error)

func (*Process) Kill

func (p *Process) Kill() error

func (*Process) KillWithContext

func (p *Process) KillWithContext(ctx context.Context) error

func (*Process) MemoryInfo

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

func (*Process) MemoryInfoEx

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

func (*Process) MemoryInfoExWithContext

func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error)

func (*Process) MemoryInfoWithContext

func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error)

func (*Process) MemoryMaps

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

func (*Process) MemoryMapsWithContext

func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error)

func (*Process) MemoryPercent

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

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

func (*Process) MemoryPercentWithContext

func (p *Process) MemoryPercentWithContext(ctx context.Context) (float32, error)

func (*Process) Name

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

func (*Process) NameWithContext

func (p *Process) NameWithContext(ctx context.Context) (string, error)

func (*Process) NetIOCounters

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

func (*Process) NetIOCountersWithContext

func (p *Process) NetIOCountersWithContext(ctx context.Context, pernic bool) ([]net.IOCountersStat, error)

func (*Process) Nice

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

func (*Process) NiceWithContext

func (p *Process) NiceWithContext(ctx context.Context) (int32, error)

func (*Process) NumCtxSwitches

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

func (*Process) NumCtxSwitchesWithContext

func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error)

func (*Process) NumFDs

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

func (*Process) NumFDsWithContext

func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error)

func (*Process) NumThreads

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

func (*Process) NumThreadsWithContext

func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error)

func (*Process) OpenFiles

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

func (*Process) OpenFilesWithContext

func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error)

func (*Process) Parent

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

func (*Process) ParentWithContext

func (p *Process) ParentWithContext(ctx context.Context) (*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) PercentWithContext

func (p *Process) PercentWithContext(ctx context.Context, interval time.Duration) (float64, error)

func (*Process) Ppid

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

func (*Process) PpidWithContext

func (p *Process) PpidWithContext(ctx context.Context) (int32, error)

func (*Process) Resume

func (p *Process) Resume() error

func (*Process) ResumeWithContext

func (p *Process) ResumeWithContext(ctx context.Context) error

func (*Process) Rlimit

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

func (*Process) RlimitUsage

func (p *Process) RlimitUsage(gatherUsed bool) ([]RlimitStat, error)

func (*Process) RlimitUsageWithContext

func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error)

func (*Process) RlimitWithContext

func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error)

func (*Process) SendSignal

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

func (*Process) SendSignalWithContext

func (p *Process) SendSignalWithContext(ctx context.Context, sig syscall.Signal) error

func (*Process) Status

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

func (*Process) StatusWithContext

func (p *Process) StatusWithContext(ctx context.Context) (string, error)

func (Process) String

func (p Process) String() string

func (*Process) Suspend

func (p *Process) Suspend() error

func (*Process) SuspendWithContext

func (p *Process) SuspendWithContext(ctx context.Context) error

func (*Process) Terminal

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

func (*Process) TerminalWithContext

func (p *Process) TerminalWithContext(ctx context.Context) (string, error)

func (*Process) Terminate

func (p *Process) Terminate() error

func (*Process) TerminateWithContext

func (p *Process) TerminateWithContext(ctx context.Context) error

func (*Process) Tgid

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

func (*Process) Threads

func (p *Process) Threads() (map[int32]*cpu.TimesStat, error)

func (*Process) ThreadsWithContext

func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error)

func (*Process) Times

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

func (*Process) TimesWithContext

func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error)

func (*Process) Uids

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

func (*Process) UidsWithContext

func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error)

func (*Process) Username

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

func (*Process) UsernameWithContext

func (p *Process) UsernameWithContext(ctx context.Context) (string, error)

type RlimitStat

type RlimitStat struct {
	Resource int32  `json:"resource"`
	Soft     int32  `json:"soft"` //TODO too small. needs to be uint64
	Hard     int32  `json:"hard"` //TODO too small. needs to be uint64
	Used     uint64 `json:"used"`
}

func (RlimitStat) String

func (r RlimitStat) String() string

type SignalInfoStat

type SignalInfoStat struct {
	PendingProcess uint64 `json:"pending_process"`
	PendingThread  uint64 `json:"pending_thread"`
	Blocked        uint64 `json:"blocked"`
	Ignored        uint64 `json:"ignored"`
	Caught         uint64 `json:"caught"`
}

Source Files

process.go process_fallback.go

Version
v2.18.11+incompatible
Published
Nov 24, 2018
Platform
js/wasm
Imports
10 packages
Last checked
13 hours ago

Tools for package owners.