====== ProcessHandle ======
This object represents a running process.
===== Functions =====
==== ProcessHandle ====
Constructor function.
=== Syntax ===
var myObject = new ProcessHandle();
var myObject = new ProcessHandle(otherProcessHandle);
var myObject = new ProcessHandle(processId);
=== Arguments ===
- otherProcessHandle - (ProcessHandle) other ProcessHandle to copy
- processId - (integer) process identifier to manage
=== Exceptions ===
* (ParameterTypeError) incorrect parameter type
* (ParameterCountError) incorrect parameter count
=== Example ===
Create a ProcessHandle representing an invalid process.
var myObject = new ProcessHandle();
Create a ProcessHandle representing a copy of **otherProcessHandle**.
var myObject = new ProcessHandle(otherProcessHandle);
Create a ProcessHandle linked to the process id 1337.
var myObject = new ProcessHandle(1337);
===== Methods =====
==== clone ====
Returns a copy of this ProcessHandle.
=== Syntax ===
myObject.clone();
=== Returns ===
* (ProcessHandle) a copy of this ProcessHandle
=== Example ===
var copyOfMyObject = myObject.clone();
==== equals ====
Returns true if this ProcessHandle and another are referencing the same process.
=== Syntax ===
myObject.equals(other);
=== Arguments ===
- other - (ProcessHandle) another ProcessHandle
=== Returns ===
* (bool) true if **other** is referencing the same process
=== Example ===
if(myFirstObject.equals(mySecondObject))
//Do something
==== toString ====
Returns a string representing this ProcessHandle.
=== Syntax ===
myObject.toString();
=== Returns ===
* (string) a string representing this ProcessHandle
=== Example ===
Console.print(myObject.toString());
=== Notes ===
This method is automatically called when trying to convert a ProcessHandle to a string.
==== id ====
Returns the process id.
=== Syntax ===
myObject.id();
=== Returns ===
* (integer) the process id
==== kill ====
Try to kill the process.
=== Syntax ===
myObject.kill(killMode, timeout);
=== Arguments ===
- killMode - ([[#killmode|KillMode]]) the kill mode to use
- timeout - (integer) the timeout in milliseconds to wait when using GracefulThenForceful
=== Returns ===
* (boolean) true if the process was killed
==== isRunning ====
Returns true if the process is currently running.
=== Syntax ===
myObject.isRunning();
=== Returns ===
* (boolean) true if the process is currently running
==== command ====
Returns the command that was used to start this process.
=== Syntax ===
myObject.command();
=== Returns ===
* (string) the command that was used to start this process
=== Exceptions ===
* (OpenProcessError) unable to open the process (Windows)
* (GetModuleFilenameError) unable to get the module filename (Windows)
* (GetProcessError) unable to get the process command (Linux)
==== priority ====
Returns the priority of this process.
=== Syntax ===
myObject.priority();
=== Returns ===
* ([[#priority|Priority]]) the process priority
=== Exceptions ===
* (OpenProcessError) unable to open the process (Windows)
* (GetPriorityClassError) unable to get priority class (Windows)
* (OperatingSystemError) this is not available on this operating system (Linux)
=== Notes ===
This method only works on Windows, because Linux doesn't have any concept of process priority.
===== Enumerations =====
==== KillMode ====
Policy to use when trying to kill a process.
=== Values ===
- Graceful: Linux: send a SIGTERM signal Windows: close all windows owned by this process
- Forceful: Linux: send a SIGKILL signal Windows: use TerminateProcess to kill this process
- GracefulThenForceful: try to kill the process using the graceful technique, wait for timeout and kill it using the forceful technique
==== Priority ====
A process priority.
=== Values ===
- AboveNormal: above normal
- BelowNormal: below normal
- High: high
- Idle: idle
- Normal: normal
- Realtime: realtime