ost::Process(3) | Library Functions Manual | ost::Process(3) |
ost::Process - A class for containing portable process related functions that help create portable code.
#include <process.h>
typedef RETSIGTYPE(* Trap) (int)
bool lock (bool future=true)
Lock a process in memory. void unlock (void)
Unlock process pages.
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. static bool isRealtime (void)
Return true if realtime scheduling.
A class for containing portable process related functions that help create portable code.
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.
Peocess wrapper class.
Author:
Attach the current process to another device or i/o session. It is deamonified and dissasociated with the prior parent process and controlling terminal.
Parameters:
Cancel a running child process.
Returns:
Parameters:
Detach current process into a daemon, posix only. Perhaps a similar method can be used for creating win32 'services'?
Get etc prefix path.
Returns:
Get system environment.
Returns:
Parameters:
Get home directory.
Returns:
Return the effective operating system page size.
Returns:
Get user name.
Returns:
Return true if realtime scheduling.
Return true if scheduler settable.
Get the exit status of another process, waiting for it to exit.
Returns:
Parameters:
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.
Returns:
Parameters:
Set system environment in a standard manner.
Parameters:
Set the effective group id by name.
Returns:
Set system call interuptable signal handler. #return previous handler.
Parameters:
Set a posix compliant signal handler.
Returns:
Parameters:
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.
Returns:
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.
Warning:
Returns:
Parameters:
Unlock process pages.
Generated automatically by Doxygen for GNU CommonC++ from the source code.
Wed Oct 31 2018 | GNU CommonC++ |