sig
type bigint = Big_int.big_int
type stat = {
comm : string;
state : char;
ppid : int;
pgrp : int;
session : int;
tty_nr : int;
tpgid : int;
flags : Procfs.bigint;
minflt : Procfs.bigint;
cminflt : Procfs.bigint;
majflt : Procfs.bigint;
cmajflt : Procfs.bigint;
utime : Procfs.bigint;
stime : Procfs.bigint;
cutime : Procfs.bigint;
cstime : Procfs.bigint;
priority : Procfs.bigint;
nice : Procfs.bigint;
unused : Procfs.bigint;
itrealvalue : Procfs.bigint;
starttime : Procfs.bigint;
vsize : Procfs.bigint;
rss : Procfs.bigint;
rlim : Procfs.bigint;
startcode : Procfs.bigint;
endcode : Procfs.bigint;
startstack : Procfs.bigint;
kstkesp : Procfs.bigint;
signal : Procfs.bigint;
blocked : Procfs.bigint;
sigignore : Procfs.bigint;
sigcatch : Procfs.bigint;
wchan : Procfs.bigint;
nswap : Procfs.bigint;
cnswap : Procfs.bigint;
exit_signal : int;
processor : int;
rt_priority : Procfs.bigint;
policy : Procfs.bigint;
}
type statm = {
size : Procfs.bigint;
resident : Procfs.bigint;
share : Procfs.bigint;
text : Procfs.bigint;
lib : Procfs.bigint;
data : Procfs.bigint;
dt : Procfs.bigint;
}
type status = { uid : int; euid : int; suid : int; fsuid : int; }
type process = {
pid : int;
cmdline : string;
cwd : string option;
environ : string option;
exe : string option;
root : string option;
stat : Procfs.stat;
statm : Procfs.statm;
status : Procfs.status;
top_command : string;
}
val get_all_procs : unit -> Procfs.process list
val with_pid : int -> Procfs.process
val with_uid : int -> Procfs.process list
val with_username : string -> Procfs.process list
val hertz : float
val memtotal : int
end