Documentation
¶
Overview ¶
Package procfs holds utilities for getting procfs information for sandboxed processes.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FDInfo ¶
type FDInfo struct {
// Number is the FD number.
Number int32 `json:"number"`
// Path is the path of the file that FD represents.
Path string `json:"path,omitempty"`
// Mode is the file mode.
Mode uint16 `json:"mode"`
}
FDInfo contains information about an application file descriptor.
type Mapping ¶
type Mapping struct {
Address hostarch.AddrRange `json:"address,omitempty"`
Permissions hostarch.AccessType `json:"permissions"`
Private string `json:"private,omitempty"`
Offset uint64 `json:"offset"`
DevMajor uint32 `json:"deviceMajor,omitempty"`
DevMinor uint32 `json:"deviceMinor,omitempty"`
Inode uint64 `json:"inode,omitempty"`
Pathname string `json:"pathname,omitempty"`
}
Mapping contains information for /proc/[pid]/maps.
type ProcessProcfsDump ¶
type ProcessProcfsDump struct {
// Exe is the symlink target of /proc/[pid]/exe.
Exe string `json:"exe,omitempty"`
// Args is /proc/[pid]/cmdline split into an array.
Args []string `json:"args,omitempty"`
// Env is /proc/[pid]/environ split into an array.
Env []string `json:"env,omitempty"`
// CWD is the symlink target of /proc/[pid]/cwd.
CWD string `json:"cwd,omitempty"`
// FDs contains the directory entries of /proc/[pid]/fd and also contains the
// symlink target for each FD.
FDs []FDInfo `json:"fdlist,omitempty"`
// StartTime is the process start time in nanoseconds since Unix epoch.
StartTime int64 `json:"clone_ts,omitempty"`
// Root is /proc/[pid]/root.
Root string `json:"root,omitempty"`
// Limits constains resource limits for this process. Currently only
// RLIMIT_NOFILE is supported.
Limits map[string]limits.Limit `json:"limits,omitempty"`
// Cgroup is /proc/[pid]/cgroup split into an array.
Cgroup []kernel.TaskCgroupEntry `json:"cgroup,omitempty"`
// Status is /proc/[pid]/status.
Status Status `json:"status,omitempty"`
// Stat is /proc/[pid]/stat.
Stat Stat `json:"stat,omitempty"`
// Maps is /proc/[pid]/maps.
Maps []Mapping `json:"maps,omitempty"`
}
ProcessProcfsDump contains the procfs dump for one process. For more details on fields that directly correspond to /proc fields, see proc(5).
func Dump ¶
func Dump(t *kernel.Task, pid kernel.ThreadID, pidns *kernel.PIDNamespace) (ProcessProcfsDump, error)
Dump returns a procfs dump for process pid. t must be a task in process pid.
type Status ¶
type Status struct {
Comm string `json:"comm,omitempty"`
PID int32 `json:"pid"`
PPID int32 `json:"ppid"`
UID UIDGID `json:"uid,omitempty"`
GID UIDGID `json:"gid,omitempty"`
VMSize uint64 `json:"vm_size,omitempty"`
VMRSS uint64 `json:"vm_rss,omitempty"`
}
Status contains information for /proc/[pid]/status.
Click to show internal directories.
Click to hide internal directories.