Documentation
¶
Index ¶
- Constants
- func AllProcesses() (map[int32]*FilledProcess, error)
- func PidExists(pid int32) (bool, error)
- func Pids() ([]int32, error)
- type AuMask
- type AuTidAddr
- type Au_session
- type AuditinfoAddr
- type Eproc
- type ExternProc
- type FilledProcess
- type IOCountersStat
- type Itimerval
- type KinfoProc
- type Label
- type MemoryInfoExStat
- type MemoryInfoStat
- type MemoryMapsStat
- type NumCtxSwitchesStat
- type OpenFilesStat
- type Pgrp
- type Posix_cred
- type Proc
- type Process
- func (p *Process) CPUAffinity() ([]int32, error)
- func (p *Process) Children() ([]*Process, error)
- func (p *Process) Cmdline() (string, error)
- func (p *Process) CmdlineSlice() ([]string, error)
- func (p *Process) Connections() ([]net.ConnectionStat, error)
- func (p *Process) CreateTime() (int64, error)
- func (p *Process) Cwd() (string, error)
- func (p *Process) Exe() (string, error)
- func (p *Process) Gids() ([]int32, error)
- func (p *Process) IOCounters() (*IOCountersStat, error)
- func (p *Process) IOnice() (int32, error)
- func (p *Process) IsRunning() (bool, error)
- func (p *Process) Kill() error
- func (p *Process) MemoryInfo() (*MemoryInfoStat, error)
- func (p *Process) MemoryInfoEx() (*MemoryInfoExStat, error)
- func (p *Process) MemoryMaps(grouped bool) (*[]MemoryMapsStat, error)
- func (p *Process) MemoryPercent() (float32, error)
- func (p *Process) Name() (string, error)
- func (p *Process) NetIOCounters(pernic bool) ([]net.IOCountersStat, error)
- func (p *Process) Nice() (int32, error)
- func (p *Process) NumCtxSwitches() (*NumCtxSwitchesStat, error)
- func (p *Process) NumFDs() (int32, error)
- func (p *Process) NumThreads() (int32, error)
- func (p *Process) OpenFiles() ([]OpenFilesStat, error)
- func (p *Process) Parent() (*Process, error)
- func (p *Process) Percent(interval time.Duration) (float64, error)
- func (p *Process) Ppid() (int32, error)
- func (p *Process) Resume() error
- func (p *Process) Rlimit() ([]RlimitStat, error)
- func (p *Process) SendSignal(sig syscall.Signal) error
- func (p *Process) Status() (string, error)
- func (p Process) String() string
- func (p *Process) Suspend() error
- func (p *Process) Terminal() (string, error)
- func (p *Process) Terminate() error
- func (p *Process) Threads() (map[string]string, error)
- func (p *Process) Times() (*cpu.TimesStat, error)
- func (p *Process) Uids() ([]int32, error)
- func (p *Process) Username() (string, error)
- type Rlimit
- type RlimitStat
- type Rusage
- type Session
- type Sigacts
- type Timespec
- type Timeval
- type UGid_t
- type UcredQueue
- type Upcred
- type UserStruct
- type Uucred
- type Vmspace
- type Vnode
Constants ¶
const ( CTLKern = 1 // "high kernel": proc, limits KernProc = 14 // struct: process entries KernProcPID = 1 // by process id KernProcProc = 8 // only return procs KernProcAll = 0 // everything KernProcPathname = 12 // path to executable )
copied from sys/sysctl.h
const (
ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
)
Variables ¶
This section is empty.
Functions ¶
func AllProcesses ¶
func AllProcesses() (map[int32]*FilledProcess, error)
Types ¶
type Au_session ¶
type Au_session struct {
Aia_p *AuditinfoAddr
Mask AuMask
}
type AuditinfoAddr ¶
type Eproc ¶
type Eproc struct {
Paddr *uint64
Sess *Session
Pcred Upcred
Ucred Uucred
Pad_cgo_0 [4]byte
Vm Vmspace
Ppid int32
Pgid int32
Jobc int16
Pad_cgo_1 [2]byte
Tdev int32
Tpgid int32
Pad_cgo_2 [4]byte
Tsess *Session
Wmesg [8]int8
Xsize int32
Xrssize int16
Xccount int16
Xswrss int16
Pad_cgo_3 [2]byte
Flag int32
Login [12]int8
Spare [4]int32
Pad_cgo_4 [4]byte
}
type ExternProc ¶
type ExternProc struct {
P_un [16]byte
P_vmspace uint64
P_sigacts uint64
Pad_cgo_0 [3]byte
P_flag int32
P_stat int8
P_pid int32
P_oppid int32
P_dupfd int32
Pad_cgo_1 [4]byte
User_stack uint64
Exit_thread uint64
P_debugger int32
Sigwait int32
P_estcpu uint32
P_cpticks int32
P_pctcpu uint32
Pad_cgo_2 [4]byte
P_wchan uint64
P_wmesg uint64
P_swtime uint32
P_slptime uint32
P_realtimer Itimerval
P_rtime Timeval
P_uticks uint64
P_sticks uint64
P_iticks uint64
P_traceflag int32
Pad_cgo_3 [4]byte
P_tracep uint64
P_siglist int32
Pad_cgo_4 [4]byte
P_textvp uint64
P_holdcnt int32
P_sigmask uint32
P_sigignore uint32
P_sigcatch uint32
P_priority uint8
P_usrpri uint8
P_nice int8
P_comm [17]int8
Pad_cgo_5 [4]byte
P_pgrp uint64
P_addr uint64
P_xstat uint16
P_acflag uint16
Pad_cgo_6 [4]byte
P_ru uint64
}
type FilledProcess ¶
type FilledProcess struct {
Pid int32
Ppid int32
// process namespaced PID
NsPid int32
Cmdline []string
// stat
CpuTime cpu.TimesStat
Nice int32
CreateTime int64
OpenFdCount int32
// status
Name string
Status string
Uids []int32
Gids []int32
NumThreads int32
CtxSwitches *NumCtxSwitchesStat
// statm
MemInfo *MemoryInfoStat
MemInfoEx *MemoryInfoExStat
// cwd
Cwd string
// exe
Exe string
// IO
IOStat *IOCountersStat
// Username (windows only)
Username string
}
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 KinfoProc ¶
type KinfoProc struct {
Proc ExternProc
Eproc Eproc
}
type MemoryInfoExStat ¶
type MemoryInfoExStat struct {
RSS uint64 `json:"rss"` // bytes
VMS uint64 `json:"vms"` // 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
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 {
}
type NumCtxSwitchesStat ¶
type NumCtxSwitchesStat struct {
Voluntary int64 `json:"voluntary"`
Involuntary int64 `json:"involuntary"`
}
func (NumCtxSwitchesStat) String ¶
func (p NumCtxSwitchesStat) String() string
type OpenFilesStat ¶
func (OpenFilesStat) String ¶
func (o OpenFilesStat) String() string
type Posix_cred ¶
type Process ¶
type Process struct {
Pid int32 `json:"pid"`
NsPid int32 `json:"nspid"`
// contains filtered or unexported fields
}
func NewProcess ¶
func (*Process) CPUAffinity ¶
func (*Process) Cmdline ¶
Cmdline returns the command line arguments of the process as a string with each argument separated by 0x20 ascii character.
func (*Process) CmdlineSlice ¶
CmdlineSlice returns the command line arguments of the process as a slice with each element being an argument. Because of current deficiencies in the way that the command line arguments are found, single arguments that have spaces in the will actually be reported as two separate items. In order to do something better CGO would be needed to use the native darwin functions.
func (*Process) Connections ¶
func (p *Process) Connections() ([]net.ConnectionStat, error)
func (*Process) CreateTime ¶
func (*Process) IOCounters ¶
func (p *Process) IOCounters() (*IOCountersStat, 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)
func (*Process) MemoryPercent ¶
MemoryPercent returns how many percent of the total RAM this process uses
func (*Process) NetIOCounters ¶
func (p *Process) NetIOCounters(pernic bool) ([]net.IOCountersStat, error)
func (*Process) NumCtxSwitches ¶
func (p *Process) NumCtxSwitches() (*NumCtxSwitchesStat, error)
func (*Process) NumThreads ¶
func (*Process) OpenFiles ¶
func (p *Process) OpenFiles() ([]OpenFilesStat, error)
func (*Process) Percent ¶
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) Rlimit ¶
func (p *Process) Rlimit() ([]RlimitStat, error)
func (*Process) SendSignal ¶
SendSignal sends a syscall.Signal to the process. Currently, SIGSTOP, SIGCONT, SIGTERM and SIGKILL are supported.
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
type UcredQueue ¶
type UcredQueue struct {
Next *ucred
Prev **ucred
}
type UserStruct ¶
type UserStruct struct{}