Daemon
Allow run command as daemon. Used in daemon cli.
- class duetector.tools.daemon.Daemon(workdir: str | Path, application: str = 'daemon', cmd: list[str] | None = None, env_dict: dict[str, str] | None = None, rotate_log: bool = True)[source]
Bases:
objectStart a daemon process and record pid.
- Parameters:
workdir (str, Path) – Working directory for daemon process.
cmd (List[str]) – Command to start daemon process.
env_dict (Dict[str, str]) – Environment variables for daemon process.
rotate_log (bool) – Rotate log file or not.
Example
>>> d = Daemon( ... cmd=["sleep", "100"], ... workdir="/tmp/duetector", ... env_dict={"DUETECTOR_LOG_LEVEL": "DEBUG"}, ... auto_restart=True, ... rotate_log=True, ... ) >>> d.start() >>> d.poll() >>> d.stop()
- property log_file
Path to log file.
- property pid
Pid of daemon process.
- property pid_file
Path to pid file.