WPILibC++
2018.4.1-20180920141831-1187-gd2a5aaa
|
#include <Process.h>
Public Member Functions | |
Process (const private_init &) | |
void | Kill (int signum) |
Sends the specified signal to the process. More... | |
uv_pid_t | GetPid () const noexcept |
Get the process ID. More... | |
![]() | |
std::shared_ptr< Process > | shared_from_this () |
std::shared_ptr< const Process > | shared_from_this () const |
uv_process_t * | GetRaw () const noexcept |
Get the underlying handle data structure. More... | |
![]() | |
Handle (const Handle &)=delete | |
Handle (Handle &&)=delete | |
Handle & | operator= (const Handle &)=delete |
Handle & | operator= (Handle &&)=delete |
Type | GetType () const noexcept |
Get the type of the handle. More... | |
StringRef | GetTypeName () const noexcept |
Get the name of the type of the handle. More... | |
std::shared_ptr< Loop > | GetLoop () const noexcept |
Get the loop where this handle runs. More... | |
Loop & | GetLoopRef () const noexcept |
Get the loop where this handle runs. More... | |
bool | IsActive () const noexcept |
Check if the handle is active. More... | |
bool | IsClosing () const noexcept |
Check if a handle is closing or closed. More... | |
void | Close () noexcept |
Request handle to be closed. More... | |
void | Reference () noexcept |
Reference the given handle. More... | |
void | Unreference () noexcept |
Unreference the given handle. More... | |
bool | HasReference () const noexcept |
Check if the given handle is referenced. More... | |
size_t | RawSize () const noexcept |
Return the size of the underlying handle type. More... | |
uv_handle_t * | GetRawHandle () const noexcept |
Get the underlying handle data structure. More... | |
void | SetBufferAllocator (std::function< Buffer(size_t)> alloc, std::function< void(Buffer &)> dealloc) |
Set the functions used for allocating and releasing buffers. More... | |
void | FreeBuf (Buffer &buf) const noexcept |
Free a buffer. More... | |
template<typename T = void> | |
std::shared_ptr< T > | GetData () const |
Gets user-defined data. More... | |
void | SetData (std::shared_ptr< void > data) |
Sets user-defined data. More... | |
void | ReportError (int err) |
Report an error. More... | |
Static Public Member Functions | |
static void | DisableStdioInheritance () |
Disables inheritance for file descriptors / handles that this process inherited from its parent. More... | |
static std::shared_ptr< Process > | Spawn (Loop &loop, const Twine &file, char **args, const ProcessOptions &options=ProcessOptions{}) |
Starts a process. More... | |
static std::shared_ptr< Process > | Spawn (const std::shared_ptr< Loop > &loop, const Twine &file, char **args, const ProcessOptions &options=ProcessOptions{}) |
Starts a process. More... | |
static int | Kill (int pid, int signum) noexcept |
Sends the specified signal to the given PID. More... | |
Public Attributes | |
sig::Signal< int64_t, int > | exited |
Signal generated when the process exits. More... | |
![]() | |
sig::Signal< Error > | error |
Error signal. | |
sig::Signal | closed |
Closed signal. | |
Additional Inherited Members | |
![]() | |
using | Type = uv_handle_type |
![]() | |
Handle (uv_handle_t *uv_handle) | |
void | Keep () noexcept |
void | Release () noexcept |
template<typename F , typename... Args> | |
bool | Invoke (F &&f, Args &&...args) |
![]() | |
static void | AllocBuf (uv_handle_t *handle, size_t size, uv_buf_t *buf) |
static void | DefaultFreeBuf (Buffer &buf) |
Process handle.
Process handles will spawn a new process and allow the user to control it and establish communication channels with it using streams.
|
inlinestatic |
Disables inheritance for file descriptors / handles that this process inherited from its parent.
The effect is that child processes spawned by this process don't accidentally inherit these handles.
It is recommended to call this function as early in your program as possible, before the inherited file descriptors can be closed or duplicated.
|
inlinenoexcept |
Get the process ID.
|
inline |
Sends the specified signal to the process.
signum | signal number |
|
inlinestaticnoexcept |
Sends the specified signal to the given PID.
pid | process ID |
signum | signal number |
|
static |
Starts a process.
If the process is not successfully spawned, an error is generated on the loop and this function returns nullptr.
Possible reasons for failing to spawn would include (but not be limited to) the file to execute not existing, not having permissions to use the setuid or setgid specified, or not having enough memory to allocate for the new process.
|
inlinestatic |
Starts a process.
If the process is not successfully spawned, an error is generated on the loop and this function returns nullptr.
Possible reasons for failing to spawn would include (but not be limited to) the file to execute not existing, not having permissions to use the setuid or setgid specified, or not having enough memory to allocate for the new process.
sig::Signal<int64_t, int> wpi::uv::Process::exited |
Signal generated when the process exits.
The parameters are the exit status and the signal that caused the process to terminate, if any.