from utmp.h
const USER_PROCESS = 7
func BootTime() (uint64, error)
BootTime returns the system boot time expressed in seconds since the epoch.
func BootTimeWithContext(ctx context.Context) (uint64, error)
func HostID() (string, error)
HostID returns the unique host ID provided by the OS.
func HostIDWithContext(ctx context.Context) (string, error)
func KernelArch() (string, error)
func KernelVersion() (string, error)
func KernelVersionWithContext(ctx context.Context) (version string, err error)
func PlatformInformation() (string, string, string, error)
func PlatformInformationWithContext(ctx context.Context) (platform string, family string, version string, err error)
func Uptime() (uint64, error)
func UptimeWithContext(ctx context.Context) (uint64, error)
func Virtualization() (string, string, error)
func VirtualizationWithContext(ctx context.Context) (string, string, error)
A HostInfoStat describes the host status. This is not in the psutil but it useful.
type InfoStat struct { Hostname string `json:"hostname"` Uptime uint64 `json:"uptime"` BootTime uint64 `json:"bootTime"` Procs uint64 `json:"procs"` // number of processes OS string `json:"os"` // ex: freebsd, linux Platform string `json:"platform"` // ex: ubuntu, linuxmint PlatformFamily string `json:"platformFamily"` // ex: debian, rhel PlatformVersion string `json:"platformVersion"` // version of the complete OS KernelVersion string `json:"kernelVersion"` // version of the OS kernel (if available) KernelArch string `json:"kernelArch"` // native cpu architecture queried at runtime, as returned by `uname -m` or empty string in case of error VirtualizationSystem string `json:"virtualizationSystem"` VirtualizationRole string `json:"virtualizationRole"` // guest or host HostID string `json:"hostid"` // ex: uuid }
func Info() (*InfoStat, error)
func InfoWithContext(ctx context.Context) (*InfoStat, error)
func (h InfoStat) String() string
type LSB struct { ID string Release string Codename string Description string }
type TemperatureStat struct { SensorKey string `json:"sensorKey"` Temperature float64 `json:"sensorTemperature"` }
func SensorsTemperatures() ([]TemperatureStat, error)
func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error)
func (t TemperatureStat) String() string
type UserStat struct { User string `json:"user"` Terminal string `json:"terminal"` Host string `json:"host"` Started int `json:"started"` }
func Users() ([]UserStat, error)
func UsersWithContext(ctx context.Context) ([]UserStat, error)
func (u UserStat) String() string
type Warnings struct { List []error }
func (w *Warnings) Add(err error)
func (w *Warnings) Error() string
func (w *Warnings) Reference() error