gevent.backdoor
– Interactive greenlet-based network console that can be used in any process¶Interactive greenlet-based network console that can be used in any process.
The BackdoorServer
provides a REPL inside a running process. As
long as the process is monkey-patched, the BackdoorServer
can coexist
with other elements of the process.
See also
Bases: StreamServer
Provide a backdoor to a program for debugging purposes.
Warning
This backdoor provides no authentication and makes no attempt to limit what remote users can do. Anyone that can access the server can take any action that the running python process can. Thus, while you may bind to any interface, for security purposes it is recommended that you bind to one only accessible to the local machine, e.g., 127.0.0.1/localhost.
Basic usage:
from gevent.backdoor import BackdoorServer
server = BackdoorServer(('127.0.0.1', 5001),
banner="Hello from gevent backdoor!",
locals={'foo': "From defined scope!"})
server.serve_forever()
In a another terminal, connect with…:
$ telnet 127.0.0.1 5001
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Hello from gevent backdoor!
>> print(foo)
From defined scope!
Changed in version 1.2a1: Spawned greenlets are now tracked in a pool and killed when the server is stopped.
locals – If given, a dictionary of “builtin” values that will be available at the top-level.
banner – If geven, a string that will be printed to each connecting user.
Next page: gevent.baseserver
– Base class for implementing servers