module Procfs: Procfs
typebigint =
Core.Std.Big_int.big_int
module Process:sig
..end
module Meminfo:sig
..end
module Kstat:sig
..end
module Loadavg:sig
..end
val get_all_procs : unit -> Process.t list
get_all_procs
returns a list of all processes on the systemval with_pid_exn : Core.Std.Pid.t -> Process.t
with_pid_exn pid
returns a single process that matches pid, or raises Not_foundval with_pid : Core.Std.Pid.t -> Process.t option
with_pid pid
returns a single process that matches pidval with_uid : int -> Process.t list
with_uid uid
returns all processes owned by uidval pgrep : (Process.t -> bool) -> Process.t list
pgrep f
returns all processes for which f is trueval pkill : signal:Core.Std.Signal.t ->
(Process.t -> bool) ->
(Core.Std.Pid.t * (unit, Core.Unix.error) Core.Result.t) list
pkill ~signal f
sends the signal to all processes for which f returns true. It
returns the list of processes that were signaled, and the resulting errors if any.val with_username_exn : string -> Process.t list
with_username_exn user
calls with_uid after looking up the user's uidval with_username : string -> Process.t list option
with_username user
calls with_uid after looking up the user's uidval jiffies_per_second_exn : unit -> float
jiffies_per_second_exn
. A jiffy "is one tick of the system timer interrupt. It is
not an absolute time interval unit, since its duration depends on the clock interrupt
frequency of the particular hardware platform."
Further reading: https://secure.wikimedia.org/wikipedia/en/wiki/Jiffy_(time)
val jiffies_per_second : unit -> float option
val meminfo_exn : unit -> Meminfo.t
meminfo_exn
queries /proc/meminfo and fills out Meminfo.t. All values in bytes.val meminfo : unit -> Meminfo.t option
val loadavg_exn : unit -> Loadavg.t
loadavg_exn
parses /proc/loadavg.val loadavg : unit -> Loadavg.t option
module Net:sig
..end
module Mount:sig
..end
val mounts : unit -> Mount.t list
val mounts_of_fstab : unit -> Mount.t list
val supported_filesystems : unit -> string list
val uptime : unit -> Core.Time.Span.t
val process_age : Process.t -> Core.Time.Span.t option
val process_age' : jiffies_per_second:float -> Process.t -> Core.Time.Span.t
val bigint_of_sexp : Sexplib.Sexp.t -> bigint
val sexp_of_bigint : bigint -> Sexplib.Sexp.t
range: -17 to +15
t
corresponds to the values in /proc/meminfo. All values in bytes.t
corresponds to the values in /proc/loadavg.get_all_procs
returns a list of all processes on the systemwith_pid_exn pid
returns a single process that matches pid, or raises Not_foundwith_pid pid
returns a single process that matches pidwith_uid uid
returns all processes owned by uidpgrep f
returns all processes for which f is truepkill ~signal f
sends the signal to all processes for which f returns true. It
returns the list of processes that were signaled, and the resulting errors if any.with_username_exn user
calls with_uid after looking up the user's uidwith_username user
calls with_uid after looking up the user's uidjiffies_per_second_exn
. A jiffy "is one tick of the system timer interrupt. It is
not an absolute time interval unit, since its duration depends on the clock interrupt
frequency of the particular hardware platform."
Further reading: https://secure.wikimedia.org/wikipedia/en/wiki/Jiffy_(time)
meminfo_exn
queries /proc/meminfo and fills out Meminfo.t. All values in bytes.
loadavg_exn
parses /proc/loadavg.
/proc/net/tcp, or what netstat or lsof -i parses.
These don't do any IO and should be async-ok
This does IO and is not async-ok.