CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
process.h File Reference

Launching, inspecting and controlling operating system processes. More...

#include <cx/closure/closure.h>
#include <cx/container/hashtable.h>
#include <cx/container/sarray.h>
#include <cx/cx.h>
#include <cx/sys/processobj.h>

Go to the source code of this file.

Data Structures

struct  ProcessInfo
 
struct  ProcessOpts
 

Macros

#define PROCESS_InvalidID   ((ProcessID)-1)
 A process id that does not refer to anything.
 
#define PROC_ExitCodeUnknown   ((int32)-1)
 
#define procRelease(pproc)   objRelease(pproc)
 

Typedefs

typedef int64 ProcessID
 Operating system process id.
 
typedef struct ProcessInfo ProcessInfo
 
typedef enum ProcStdioEnum ProcStdio
 Where a launched process's standard input, output and error go.
 
typedef struct ProcessOpts ProcessOpts
 

Enumerations

enum  ProcEnumFlags { PROC_EnumFullPath = 0x0001 }
 Flags for procEnum() and procFind() More...
 
enum  ProcStdioEnum { PROC_StdioInherit = 0 , PROC_StdioNull , PROC_StdioFile }
 Where a launched process's standard input, output and error go. More...
 
enum  ProcLaunchFlags { PROC_Detached = 0x0001 , PROC_NewGroup = 0x0002 , PROC_NoWindow = 0x0004 , PROC_NewConsole = 0x0008 }
 Flags for procLaunch() More...
 

Functions

void procInfoInit (ProcessInfo *info)
 
void procInfoDestroy (ProcessInfo *info)
 
void procInfoCopy (ProcessInfo *dest, const ProcessInfo *src)
 
bool procEnum (sa_ProcessInfo *out, flags_t flags)
 
bool procFind (sa_ProcessInfo *out, strref name, flags_t flags)
 
bool procGetInfoByID (ProcessInfo *out, ProcessID pid, flags_t flags)
 
bool procGetInfo (ProcessInfo *out, Process *proc, flags_t flags)
 
ProcessID procCurrentID (void)
 
void procOptsInit (ProcessOpts *opts)
 
void procOptsDestroy (ProcessOpts *opts)
 
void procOptsSetEnv (ProcessOpts *opts, strref name, strref val)
 
void procOptsUnsetEnv (ProcessOpts *opts, strref name)
 
ProcessprocLaunch (strref exe, sa_string args, ProcessOpts *opts)
 
ProcessprocOpen (ProcessID pid)
 
ProcessID procID (Process *proc)
 
bool procRunning (Process *proc)
 
bool procWait (Process *proc, int64 timeout)
 
bool procExitCode (Process *proc, int32 *code)
 
bool procTerminate (Process *proc, bool force)
 
bool procNotifyExit (Process *proc, closure cls)
 
void procNotifyCancel (Process *proc)
 
bool procName (Process *proc, string *out)
 
bool procExePath (Process *proc, string *out)
 

Detailed Description

Launching, inspecting and controlling operating system processes.

Definition in file process.h.