package procfs
import "gvisor.dev/gvisor/runsc/boot/procfs"
Package procfs holds utilities for getting procfs information for sandboxed processes.
Index ¶
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 constrains 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 Stat ¶
Stat contains information for /proc/[pid]/stat.
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.
type UIDGID ¶
type UIDGID struct { Real uint32 `json:"real"` Effective uint32 `json:"effective"` Saved uint32 `json:"saved"` }
UIDGID contains information for /proc/[pid]/status/{uid,gid}.
Source Files ¶
dump.go
- Version
- v0.0.0-20250605235530-a6711d1e1dc6 (latest)
- Published
- Jun 5, 2025
- Platform
- linux/amd64
- Imports
- 12 packages
- Last checked
- 5 hours ago –
Tools for package owners.