Base class for all process launchers.
More...
#include <process_launcher.h>
|
static constexpr auto | LauncherType = LAUNCHER_TYPE |
|
static constexpr auto | UNKNOWN = LaunchCommandInterface::ENGINE_RUNNING_STATUS::UNKNOWN |
|
static constexpr auto | RUNNING = LaunchCommandInterface::ENGINE_RUNNING_STATUS::RUNNING |
|
static constexpr auto | STOPPED = LaunchCommandInterface::ENGINE_RUNNING_STATUS::STOPPED |
|
template<class PROCESS_LAUNCHER, const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
class ProcessLauncher< PROCESS_LAUNCHER, LAUNCHER_TYPE, LAUNCHER_COMMANDS >
Base class for all process launchers.
- Template Parameters
-
PROCESS_LAUNCHER | Final class derived from ProcessLauncher |
LAUNCHER_TYPE | Launcher Type as string |
◆ ProcessLauncher()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
◆ ~ProcessLauncher()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
◆ createLauncher()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
Create a new process launcher.
- Parameters
-
logFD | File descriptor to route stdout and stderror outputs in launched process |
Implements ProcessLauncherInterface.
◆ launcherName()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
std::string ProcessLauncher< PROCESS_LAUNCHER, LAUNCHER_TYPE, LAUNCHER_COMMANDS >::launcherName |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ launchProcess()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
pid_t ProcessLauncher< PROCESS_LAUNCHER, LAUNCHER_TYPE, LAUNCHER_COMMANDS >::launchProcess |
( |
nlohmann::json |
procConfig, |
|
|
bool |
appendParentEnv = true |
|
) |
| |
|
inlinefinaloverridevirtual |
Fork a new process. Will read environment variables and start params from procConfig.
- Parameters
-
procConfig | Process Configuration. Env variables and start params take precedence over envParams and startParams |
appendParentEnv | Should parent env variables be appended to child process |
- Returns
- Returns Process ID of child process on success
Implements ProcessLauncherInterface.
◆ stopProcess()
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
pid_t ProcessLauncher< PROCESS_LAUNCHER, LAUNCHER_TYPE, LAUNCHER_COMMANDS >::stopProcess |
( |
unsigned int |
killWait | ) |
|
|
inlinefinaloverridevirtual |
Stop a running process.
- Parameters
-
killWait | Time (in seconds) to wait for process to quit by itself before force killing it. 0 means it will wait indefinitely |
- Returns
- Returns child PID on success, negative value on error
Implements ProcessLauncherInterface.
◆ LauncherType
template<class PROCESS_LAUNCHER , const char * LAUNCHER_TYPE, class ... LAUNCHER_COMMANDS>
constexpr auto ProcessLauncher< PROCESS_LAUNCHER, LAUNCHER_TYPE, LAUNCHER_COMMANDS >::LauncherType = LAUNCHER_TYPE |
|
staticconstexpr |
The documentation for this class was generated from the following file: