|
uvw 3.1.0
|
The process handle. More...
#include <process.h>


Public Member Functions | |
| int | init () final |
| Initializes the handle. | |
| int | spawn (const char *file, char **args, char **env=nullptr) |
| spawn Starts the process. | |
| int | kill (int signum) |
| Sends the specified signal to the internal process handle. | |
| int | pid () noexcept |
| Gets the PID of the spawned process. | |
| process_handle & | cwd (const std::string &path) noexcept |
| Sets the current working directory for the subprocess. | |
| process_handle & | flags (process_flags flags) noexcept |
Sets flags that control how spawn() behaves. | |
| template<typename T , typename U , typename... E> | |
| process_handle & | stdio (stream_handle< T, U, E... > &stream, stdio_flags flags) |
Makes a stdio handle available to the child process. | |
| process_handle & | stdio (file_handle fd, stdio_flags flags) |
| Makes a file descriptor available to the child process. | |
| process_handle & | uid (uid_type id) |
| Sets the child process' user id. | |
| process_handle & | gid (gid_type id) |
| Sets the child process' group id. | |
Public Member Functions inherited from uvw::handle< process_handle, uv_process_t, exit_event > | |
| handle_category | category () const noexcept |
| Gets the category of the handle. | |
| handle_type | type () const noexcept |
| Gets the type of the handle. | |
| bool | active () const noexcept |
| Checks if the handle is active. | |
| bool | closing () const noexcept |
| Checks if a handle is closing or closed. | |
| void | close () noexcept |
| Request handle to be closed. | |
| void | reference () noexcept |
| Reference the given handle. | |
| void | unreference () noexcept |
| Unreference the given handle. | |
| bool | referenced () const noexcept |
| Checks if the given handle referenced. | |
| std::size_t | size () const noexcept |
| Returns the size of the underlying handle type. | |
| int | send_buffer_size () |
| Gets the size of the send buffer used for the socket. | |
| int | send_buffer_size (int value) |
| Sets the size of the send buffer used for the socket. | |
| int | recv_buffer_size () |
| Gets the size of the receive buffer used for the socket. | |
| int | recv_buffer_size (int value) |
| Sets the size of the receive buffer used for the socket. | |
| os_file_descriptor | fd () const |
| Gets the platform dependent file descriptor equivalent. | |
Public Member Functions inherited from uvw::resource< T, U, E > | |
| template<typename R = void> | |
| std::shared_ptr< R > | data () const |
Gets user-defined data. uvw won't use this field in any case. | |
| void | data (std::shared_ptr< void > udata) |
Sets arbitrary data. uvw won't use this field in any case. | |
Public Member Functions inherited from uvw::uv_type< U > | |
| virtual int | init () |
| Initializes the handle. | |
| loop & | parent () const noexcept |
| Gets the loop from which the resource was originated. | |
| const U * | raw () const noexcept |
| Gets the underlying raw data structure. | |
| U * | raw () noexcept |
| Gets the underlying raw data structure. | |
Public Member Functions inherited from uvw::emitter< T, E... > | |
| void | on (listener_t< U > f) |
| Registers a long-lived listener with the event emitter. | |
| void | reset () noexcept |
| Disconnects the listener for the given event type. | |
| void | reset () noexcept |
| Disconnects all listeners. | |
| bool | has () const noexcept |
| Checks if there is a listener registered for the specific event. | |
Static Public Member Functions | |
| static void | disable_stdio_inheritance () noexcept |
| Disables inheritance for file descriptors/handles. | |
| static bool | kill (int pid, int signum) noexcept |
| kill Sends the specified signal to the given PID. | |
The process handle.
Process handles will spawn a new process and allow the user to control it and establish communication channels with it using streams.
|
noexcept |
Sets the current working directory for the subprocess.
| path | The working directory to be used when spawn() is invoked. |
|
staticnoexcept |
Disables inheritance for file descriptors/handles.
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.
See the official documentation for further details.
|
noexcept |
Sets flags that control how spawn() behaves.
Available flags are:
process_handle::process_flags::SETUIDprocess_handle::process_flags::SETGIDprocess_handle::process_flags::WINDOWS_VERBATIM_ARGUMENTSprocess_handle::process_flags::DETACHEDprocess_handle::process_flags::WINDOWS_HIDEprocess_handle::process_flags::WINDOWS_HIDE_CONSOLEprocess_handle::process_flags::WINDOWS_HIDE_GUISee the official documentation for further details.
| flags | A valid set of flags. |
| process_handle & uvw::process_handle::gid | ( | gid_type | id | ) |
Sets the child process' group id.
| id | A valid group id to be used. |
|
finalvirtual |
|
staticnoexcept |
kill Sends the specified signal to the given PID.
| pid | A valid process id. |
| signum | A valid signal identifier. |
| int uvw::process_handle::kill | ( | int | signum | ) |
Sends the specified signal to the internal process handle.
| signum | A valid signal identifier. |
|
noexcept |
Gets the PID of the spawned process.
It’s set after calling spawn().
| int uvw::process_handle::spawn | ( | const char * | file, |
| char ** | args, | ||
| char ** | env = nullptr |
||
| ) |
spawn Starts the process.
See the official documentation for further details.
| file | Path pointing to the program to be executed. |
| args | Command line arguments. |
| env | Optional environment for the new process. |
| process_handle & uvw::process_handle::stdio | ( | file_handle | fd, |
| stdio_flags | flags | ||
| ) |
Makes a file descriptor available to the child process.
Available flags are:
process_handle::stdio_flags::IGNORE_STREAMprocess_handle::stdio_flags::CREATE_PIPEprocess_handle::stdio_flags::INHERIT_FDprocess_handle::stdio_flags::INHERIT_STREAMprocess_handle::stdio_flags::READABLE_PIPEprocess_handle::stdio_flags::WRITABLE_PIPEprocess_handle::stdio_flags::OVERLAPPED_PIPEDefault file descriptors are:
uvw::std_in for stdinuvw::std_out for stdoutuvw::std_err for stderrSee the official documentation for further details.
| fd | A valid file descriptor. |
| flags | A valid set of flags. |
|
inline |
Makes a stdio handle available to the child process.
Available flags are:
process_handle::stdio_flags::IGNORE_STREAMprocess_handle::stdio_flags::CREATE_PIPEprocess_handle::stdio_flags::INHERIT_FDprocess_handle::stdio_flags::INHERIT_STREAMprocess_handle::stdio_flags::READABLE_PIPEprocess_handle::stdio_flags::WRITABLE_PIPEprocess_handle::stdio_flags::OVERLAPPED_PIPESee the official documentation for further details.
| stream | A valid stdio handle. |
| flags | A valid set of flags. |
| process_handle & uvw::process_handle::uid | ( | uid_type | id | ) |
Sets the child process' user id.
| id | A valid user id to be used. |