You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.4 KiB
Go
93 lines
1.4 KiB
Go
package staros
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
const (
|
|
KB = 1024
|
|
MB = KB << 10
|
|
GB = MB << 10
|
|
TB = GB << 10
|
|
PB = TB << 10
|
|
)
|
|
|
|
type NetAdapter struct {
|
|
Name string
|
|
RecvBytes uint64
|
|
SendBytes uint64
|
|
}
|
|
|
|
type NetSpeed struct {
|
|
Name string
|
|
RecvBytes float64
|
|
SendBytes float64
|
|
}
|
|
|
|
// Process 定义一个进程的信息
|
|
type Process struct {
|
|
PPid int64
|
|
Pid int64
|
|
Name string
|
|
ExecPath string
|
|
LocalPath string
|
|
Path string
|
|
Args []string
|
|
Env []string
|
|
RUID int
|
|
EUID int
|
|
RGID int
|
|
EGID int
|
|
TPid int64
|
|
Uptime time.Time
|
|
VmPeak int64
|
|
VmSize int64
|
|
VmLck int64
|
|
VmHWM int64
|
|
VmRSS int64
|
|
VmData int64
|
|
netConn []NetConn
|
|
netErr error
|
|
Err error
|
|
}
|
|
|
|
func (p Process) GetNetConns() ([]NetConn, error) {
|
|
return p.netConn, p.netErr
|
|
}
|
|
|
|
type MemStatus struct {
|
|
All uint64
|
|
Used uint64
|
|
Free uint64
|
|
Shared uint64
|
|
BuffCache uint64
|
|
Available uint64
|
|
SwapAll uint64
|
|
SwapUsed uint64
|
|
SwapFree uint64
|
|
VirtualAll uint64
|
|
VirtualUsed uint64
|
|
VirtualAvail uint64
|
|
AvailExtended uint64
|
|
}
|
|
|
|
type DiskStatus struct {
|
|
All uint64
|
|
Used uint64
|
|
Free uint64
|
|
Available uint64
|
|
}
|
|
|
|
type NetConn struct {
|
|
LocalAddr string
|
|
LocalPort int
|
|
Typed string
|
|
RemoteAddr string
|
|
RemotePort int
|
|
Socket string
|
|
Inode string
|
|
Pid int64
|
|
Uid int64
|
|
Process *Process
|
|
}
|