circuits.io.process module¶
Process
This module implements a wrapper for basic subprocess.Popen
functionality.
- class circuits.io.process.terminated(*args)¶
Bases:
Event
terminated Event
This Event is sent when a process is completed
- Parameters
args – (process)
An event is a message send to one or more channels. It is eventually dispatched to all components that have handlers for one of the channels and the event type.
All normal arguments and keyword arguments passed to the constructor of an event are passed on to the handler. When declaring a handler, its argument list must therefore match the arguments used for creating the event.
Every event has a
name
attribute that is used for matching the event with the handlers.- Variables
channels –
an optional attribute that may be set before firing the event. If defined (usually as a class variable), the attribute specifies the channels that the event should be delivered to as a tuple. This overrides the default behavior of sending the event to the firing component’s channel.
When an event is fired, the value in this attribute is replaced for the instance with the channels that the event is actually sent to. This information may be used e.g. when the event is passed as a parameter to a handler.
value – this is a
circuits.core.values.Value
object that holds the results returned by the handlers invoked for the event.success – if this optional attribute is set to
True
, an associated eventsuccess
(original name with “_success” appended) will automatically be fired when all handlers for the event have been invoked successfully.success_channels – the success event is, by default, delivered to same channels as the successfully dispatched event itself. This may be overridden by specifying an alternative list of destinations using this attribute.
complete – if this optional attribute is set to
True
, an associated eventcomplete
(original name with “_complete” appended) will automatically be fired when all handlers for the event and all events fired by these handlers (recursively) have been invoked successfully.complete_channels – the complete event is, by default, delivered to same channels as the initially dispatched event itself. This may be overridden by specifying an alternative list of destinations using this attribute.
- class circuits.io.process.Process(*args, **kwargs)¶
Bases:
BaseComponent
initializes x; see x.__class__.__doc__ for signature
- channel = 'process'¶
- init(args, cwd=None, shell=False)¶
- start()¶
Start a new thread or process that invokes this manager’s
run()
method. The invocation of this method returns immediately after the task or process has been started.
- stop()¶
Stop this manager. Invoking this method causes an invocation of
run()
to return.
- kill()¶
- signal(signal)¶
- wait()¶
- write(data)¶
- property status¶