#include <process.h>
Public Types | |
typedef RETSIGTYPE(* | Trap )(int) |
Public Member Functions | |
bool | lock (bool future=true) |
Lock a process in memory. | |
void | unlock (void) |
Unlock process pages. | |
Static Public Member Functions | |
static void | detach (void) |
Detach current process into a daemon, posix only. | |
static void | attach (const char *devname) |
Attach the current process to another device or i/o session. | |
static Trap | setPosixSignal (int signo, Trap handler) |
Set a posix compliant signal handler. | |
static Trap | setInterruptSignal (int signo, Trap handler) |
Set system call interuptable signal handler. | |
static int | spawn (const char *exec, const char **argv, bool wait=true) |
Spawn a process and wait for it's exit code. | |
static int | join (int pid) |
Get the exit status of another process, waiting for it to exit. | |
static bool | cancel (int pid, int sig=0) |
Cancel a running child process. | |
static const char * | getEnv (const char *name) |
Get system environment. | |
static void | setEnv (const char *name, const char *value, bool overwrite) |
Set system environment in a standard manner. | |
static const char * | getConfigDir (void) |
Get etc prefix path. | |
static const char * | getHomeDir (void) |
Get home directory. | |
static const char * | getUser (void) |
Get user name. | |
static bool | setUser (const char *id, bool grp=true) |
Set user id by name. | |
static bool | setGroup (const char *id) |
Set the effective group id by name. | |
static size_t | getPageSize (void) |
Return the effective operating system page size. | |
static void | setPriority (int pri) |
Used to set process priority and optionally enable realtime. | |
static void | setScheduler (const char *policy) |
Used to set process scheduling policy. | |
static void | setRealtime (int pri=0) |
Portable shortcut for setting realtime. | |
static bool | isScheduler (void) |
Return true if scheduler settable. |
These are typically referenced thru Process::xxx static member functions. Many of these members are used both for win32 and posix systems although some may be platform specific.
|
|
|
Attach the current process to another device or i/o session. It is deamonified and dissasociated with the prior parent process and controlling terminal.
|
|
Cancel a running child process.
|
|
Detach current process into a daemon, posix only. Perhaps a similar method can be used for creating win32 "services"? |
|
Get etc prefix path.
|
|
Get system environment.
|
|
Get home directory.
|
|
Return the effective operating system page size.
|
|
Get user name.
|
|
Return true if scheduler settable.
|
|
Get the exit status of another process, waiting for it to exit.
|
|
Lock a process in memory. Ideally you should be deep enough where additional memallocs for functions will not kill you, or use false for future.
|
|
Set system environment in a standard manner.
|
|
Set the effective group id by name.
|
|
Set system call interuptable signal handler. return previous handler.
|
|
Set a posix compliant signal handler.
|
|
Used to set process priority and optionally enable realtime.
|
|
Portable shortcut for setting realtime. .. |
|
Used to set process scheduling policy.
|
|
Set user id by name.
|
|
Spawn a process and wait for it's exit code. In win32 this is done with the spawn system call. In posix, this is done with a fork, an execvp, and a waitpid.
|
|
Unlock process pages.
|