gevent.backdoor
--基于greenlet的交互式网络控制台,可用于任何进程#
基于绿色小程序的交互式网络控制台,可在任何流程中使用。
这个 BackdoorServer
在正在运行的进程中提供repl。只要过程是猴子修补的, BackdoorServer
可以与进程的其他元素共存。
- class BackdoorServer(listener, locals=None, banner=None, **server_args)[源代码]#
基类:
StreamServer
为调试目的提供程序的后门。
警告
这个后门不提供身份验证,也不试图限制远程用户可以做什么。任何可以访问服务器的人都可以采取运行中的python进程可以采取的任何操作。因此,尽管您可以绑定到任何接口,但为了安全起见,建议您绑定到只能由本地计算机访问的接口,例如127.0.0.1/localhost。
基本用法:
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()
在另一个终端中,连接到…::
$ 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!
在 1.2a1 版本发生变更: 生成的greenlet现在在池中被跟踪,并在服务器停止时被杀死。
- 参数:
locals -- 如果给定,将在顶层提供“内置”值的字典。
banner -- 如果是geven,则会向每个连接用户打印一个字符串。