Process ======= Process related things. ----- GetProcessID ------------ ``` function GetProcessID: TProcessID; ``` Returns the process ID of the running script. ----- GetProcessArgs -------------- ``` function GetProcessArgs: TStringArray; ``` Returns all process arguments. ----- GetProcessArg ------------- ``` function GetProcessArg(Key: String): String; ``` Argument should be passed as a key-pair value: `Name=Value` ----- IsProcessRunning ---------------- ``` function IsProcessRunning(PID: TProcessID): Boolean; ``` ----- IsProcess64Bit -------------- ``` function IsProcess64Bit(PID: TProcessID): Boolean; ``` ----- GetProcessPath -------------- ``` function GetProcessPath(PID: TProcessID): String; ``` ----- GetProcessMemUsage ------------------ ``` function GetProcessMemUsage(PID: TProcessID): Int64; ``` ----- GetProcessStartTime ------------------- ``` function GetProcessStartTime(PID: TProcessID): TDateTime; ``` ----- GetProcessAge ------------- ``` function GetProcessAge(PID: TProcessID): UInt64; ``` ----- TerminateProcess ---------------- ``` procedure TerminateProcess(PID: TProcessID); ``` ----- GetEnvVar --------- ``` function GetEnvVar(Name: String): String ``` ----- GetEnvVars ---------- ``` function GetEnvVars: TStringArray ``` ----- TRunningProcess.Free -------------------- ``` procedure TRunningProcess.Free; ``` ----- TRunningProcess.WaitOnExit -------------------------- ``` function TRunningProcess.WaitOnExit: Boolean; overload; function TRunningProcess.WaitOnExit(Timeout: Integer): Boolean; overload; ``` ----- TRunningProcess.Terminate ------------------------- ``` function Terminate(AExitCode: Integer): Boolean; ``` ----- TRunningProcess.Running ------------------------ ``` property TRunningProcess.Running: Boolean ``` ----- TRunningProcess.PID ------------------- ``` property TRunningProcess.PID: TProcessID ``` ----- TRunningProcess.ExitCode ------------------------ ``` property TRunningProcess.ExitCode: TProcessExitCode ``` ----- TRunningProcessPiped.Read ------------------------- ``` function TRunningProcessPiped.Read(Buf: PByte; Count: Integer): Integer; ``` ----- TRunningProcessPiped.ReadString ------------------------------- ``` function TRunningProcessPiped.ReadString: String; ``` ----- TRunningProcessPiped.ReadStringUntil ------------------------------------ ``` function TRunningProcessPiped.ReadStringUntil(Seq: String; Timeout: Integer): String; ``` ----- TRunningProcessPiped.Write -------------------------- ``` function TRunningProcessPiped.Write(Buf: PByte; Count: Integer): Integer; ``` ----- TRunningProcessPiped.WriteString -------------------------------- ``` function TRunningProcessPiped.WriteString(Str: String): Integer; ``` ----- TRunningProcessPiped.ReadBytesAvailable --------------------------------------- ``` property TRunningProcessPiped.ReadBytesAvailable: Integer ``` ----- StartProcess ------------ ``` function StartProcess(Executable: String; Params: TStringArray): TRunningProcess; function StartProcess(Executable: String; Params: TStringArray; Cwd: String; Env: TStringArray = []): TRunningProcess; ``` ----- StartProcessPiped ----------------- ``` function StartProcessPiped(Executable: String; Params: TStringArray): TRunningProcessPiped; function StartProcessPiped(Executable: String; Params: TStringArray; Cwd: String; Env: TStringArray = []): TRunningProcessPiped; ``` ----- RunProcess ------------ ``` function RunProcess(Executable: String; Params: TStringArray): TProcessExitCode; function RunProcess(Executable: String; Params: TStringArray; out Output: String): TProcessExitCode; ``` ----- RunSimbaScript -------------- ``` function RunSimbaScript(Script: String; Parameters: TStringArray): TProcessExitStatus; function RunSimbaScript(Script: String; Parameters: TStringArray; out Output: String): TProcessExitStatus; ``` Runs a simba script and **will wait** until the script has finished. ----- StartSimbaScript ---------------- ``` function StartSimbaScript(Script: String; Params: TStringArray): TRunningProcess; ``` Start a simba script. ----- StartSimbaScriptPiped --------------------- ``` function StartSimbaScriptPiped(Script: String; Params: TStringArray): TRunningProcessPiped; ``` Start a simba script (with piped input & output)