sig
  type run_parameters
  val run_parameters_to_yojson :
    Ketrew.Daemonize.run_parameters -> Yojson.Safe.json
  val run_parameters_of_yojson :
    Yojson.Safe.json ->
    [ `Error of string | `Ok of Ketrew.Daemonize.run_parameters ]
  val name : string
  val serialize : run_parameters -> string
  val deserialize_exn : string -> run_parameters
  val start :
    run_parameters ->
    (run_parameters, Host_io.Error.classified) Unix_io.Deferred_result.t
  val update :
    run_parameters ->
    ([ `Failed of run_parameters * string
     | `Still_running of run_parameters
     | `Succeeded of run_parameters ], Host_io.Error.classified)
    Unix_io.Deferred_result.t
  val kill :
    run_parameters ->
    ([ `Killed of run_parameters ], Host_io.Error.classified)
    Unix_io.Deferred_result.t
  val log :
    run_parameters -> (string * Ketrew_pure.Internal_pervasives.Log.t) list
  val additional_queries :
    run_parameters -> (string * Ketrew_pure.Internal_pervasives.Log.t) list
  val query :
    run_parameters ->
    string ->
    (string, Ketrew_pure.Internal_pervasives.Log.t) Unix_io.Deferred_result.t
  val create :
    ?starting_timeout:float ->
    ?call_script:(string -> string list) ->
    ?using:[ `Nohup_setsid | `Python_daemon ] ->
    ?host:Ketrew_pure.Host.t ->
    ?no_log_is_ok:bool ->
    Ketrew_pure.Program.t -> [> `Long_running of string * string ]
  val markup :
    Ketrew.Daemonize.run_parameters ->
    Ketrew_pure.Internal_pervasives.Display_markup.t
end