|
VLink 2.0.0
A high-performance communication middleware
|
Cross-platform child process management with I/O piping and async callbacks. More...
#include <cstdint>#include <functional>#include <memory>#include <string>#include <unordered_map>#include <vector>#include "./macros.h"Go to the source code of this file.
Classes | |
| class | vlink::Process |
| Cross-platform child process with async I/O and state notification. More... | |
Namespaces | |
| namespace | vlink |
Cross-platform child process management with I/O piping and async callbacks.
Process provides a Qt-QProcess-inspired API for launching, monitoring and communicating with child processes. It supports:
execute, start_detached) for fire-and-forget use cases.Channel modes:
| Mode | stdout | stderr |
|---|---|---|
kSeparateMode | Buffered pipe | Buffered pipe |
kMergedMode | Buffered pipe | Merged into stdout |
kForwardedMode | Forwarded to parent | Forwarded to parent |
kForwardedOutputMode | Forwarded to parent | Buffered pipe |
kForwardedErrorMode | Buffered pipe | Forwarded to parent |
close() requests termination and optionally force-kills after a timeout.Process objects are non-moveable and non-copyable.kDestructorWaitTimeoutMs (5 s) for the process to exit.