UniSet 2.44.3
Класс uniset::ProcessManager

#include <ProcessManager.h>

Открытые типы

using ProcessCallback = std::function<void(const ProcessInfo&)>

Открытые члены

 ProcessManager (std::shared_ptr< Configuration > conf=nullptr)
void setNodeName (const std::string &name)
std::string getNodeName () const
void setHealthCheckInterval (size_t msec)
void setRestartWindow (size_t msec)
void setStopTimeout (size_t msec)
void setCommonArgs (const std::vector< std::string > &args)
void setPassthroughArgs (const std::string &args)
void setForwardArgs (const std::vector< std::string > &args)
void addProcess (const ProcessInfo &proc)
void addGroup (const ProcessGroup &group)
bool startAll ()
void stopAll ()
void restartAll ()
 Restart all running processes.
void reloadAll ()
 Stop all, then start all (except skip, manual).
bool restartProcess (const std::string &name)
bool stopProcess (const std::string &name)
bool startProcess (const std::string &name)
void startMonitoring ()
void stopMonitoring ()
bool isMonitoring () const
ProcessState getProcessState (const std::string &name) const
ProcessInfo getProcessInfo (const std::string &name) const
std::vector< ProcessInfogetAllProcesses () const
std::vector< ProcessGroupgetAllGroups () const
bool allRunning () const
bool anyCriticalFailed () const
std::vector< std::string > getFullArgs (const std::string &name) const
 Get full arguments list for a process (commonArgs + args + forwardArgs).
void printRunList (std::ostream &out) const
void setOnProcessStarted (ProcessCallback cb)
void setOnProcessStopped (ProcessCallback cb)
void setOnProcessFailed (ProcessCallback cb)
std::shared_ptr< DebugStreamlog ()

Подробное описание

Process Manager - manages process lifecycle. Handles startup order, health monitoring, and automatic restarts.

Process Tree Termination: When stopping a process, the manager terminates the entire process tree (the process and all its descendants). This ensures no orphaned child processes remain after stop. The termination algorithm:

  1. Send SIGTERM to all processes in the tree (leaves to root)
  2. Wait stopTimeout_msec_ for graceful shutdown
  3. Send SIGKILL to any remaining processes

Методы

◆ getFullArgs()

std::vector< std::string > uniset::ProcessManager::getFullArgs ( const std::string & name) const

Get full arguments list for a process (commonArgs + args + forwardArgs).

◆ printRunList()

void uniset::ProcessManager::printRunList ( std::ostream & out) const

Print run list (dry-run mode). Shows what will be launched, with what parameters, in what order.

Аргументы
outOutput stream (e.g. std::cout)

◆ reloadAll()

void uniset::ProcessManager::reloadAll ( )

Stop all, then start all (except skip, manual).

◆ restartAll()

void uniset::ProcessManager::restartAll ( )

Restart all running processes.