Module Core_extended.Service_command

type slot = {
lock_file : string;
name : string;
redirect_stdout : Core.Daemon.Fd_redirection.t;
redirect_stderr : Core.Daemon.Fd_redirection.t;
}
module type T : sig ... end
type t = (module T)
val start : t ‑> Core.Command.t
val stop : t ‑> Core.Command.t
val status : t ‑> Core.Command.t
val restart : t ‑> Core.Command.t
val group : t ‑> summary:string ‑> Core.Command.t
val acquire_lock_exn : slot ‑> bool

acquire_lock_exn slot locks slot. This can be used from within another program to ensure that no server is running while, e.g., an offline backup is run.

Due to the semantics of the underlying Lock_file.create call, this lock is only released when the process exits. To release earlier, delete the lock file manually. *