Process enumeration and subprocess control.
The process module provides several functions to manage processes in the system and to manage interprocess communication. Child processes can be created and managed via the Process class, which provides a set of streams that can be read and written synchronously and polled for activity.
To provide this functionality, the Process class requires the service called "Stream" normally provided by the core module. Embedders that wish to allow the scripts to load this module should provide core to scripts, or provide otherwise the "Stream" service in the Virtual Machines that will run those scripts. Failing to do so will cause the stream oriented methods of the Process class to raise an error. The generic process management functions in the module, and also the generic child-process management methods in the Process class do not require this service, so embedders not willing to provide core may just turn overload the sensible Process methods or mask the Process class right away (or just ignore this fact letting the error to be raised in case of mis-usage).
As the Falcon command line automatically loads the core module, this remark does not apply to stand-alone scripts.
The Process module declares a ProcessError class, derived from core Error class, which doesn't change any of its property or method. The ProcessError class is used to mark errors raised by this module.
While the OS typically ensures that none of the functions declared in this module may actually fail, unless system conditions are critical, every function or method in this module may raise this error in case of unexpected system behavior.
Note: To make the entities delcared in this module available to falcon scripts use the command:
load process
Process | Execute and control child processes. |
ProcessEnum | Provides a list of currently executed process. |
ProcessError | Error generated by process related system failures. |
exec | Launches a process in place of the host process. |
pread | Executes an external process and waits for its termination. |
processId | Returns the process ID of the process hosting the Falcon VM. |
processKill | Terminates the given process given its ID, if possible. |
system | Executes an external process via command shell, and waits for its termination. |
systemCall | Executes an external process and waits for its termination. |