sig
  val get_editor : unit -> string option
  val get_editor_exn : unit -> string
  val get_pager : unit -> string option
  val page_contents :
    ?pager:string ->
    ?pager_options:string list -> ?tmp_name:string -> string -> unit
  val pid_alive : int -> bool
  val get_groups : string -> string list
  val with_tmp : pre:string -> suf:string -> (string -> 'a) -> 'a
  val diff : ?options:string list -> string -> string -> string
  val ip_of_name : string -> string
  val getbyname_ip : unit -> string
  val ifconfig_ips : unit -> Core.Std.String.Set.t
  val checked_edit :
    ?create:bool ->
    check:(string -> string option) -> string -> [ `Abort | `Ok ]
  module Sexp_checked_edit :
    functor (S : Core.Std.Sexpable->
      sig
        val check : string -> string option
        val check_sexps : string -> string option
        val edit : ?create:bool -> string -> [ `Abort | `Ok ]
        val edit_sexps : ?create:bool -> string -> [ `Abort | `Ok ]
      end
  module Cpu_use :
    sig
      type t
      val get : ?pid:Core.Std.Pid.t -> unit -> Sys_utils.Cpu_use.t
      val update_exn : Sys_utils.Cpu_use.t -> unit
      val cpu_use : Sys_utils.Cpu_use.t -> float
    end
  val ounit_tests : unit -> OUnit.test
end