参见配方576515:Debugging a running python process by interrupting and providing an interactive prompt (Python)
去引用:
这提供了允许所有使用它的python程序在当前点被中断并通过普通python交互式控制台进行通信的代码。这允许调查本地,全局和关联程序状态,以及调用任意函数和类。
要使用,进程应导入模块,并在启动过程中随时调用listen()。要中断此过程,可以直接运行脚本,将要调试的过程的过程ID作为参数。
rconsole提供了大致相同概念的另一种实现。从文档中:
rconsole是具有自动完成功能的远程Python控制台,可用于检查和修改正在运行的脚本的名称空间。
要在脚本中调用,请执行以下操作:
from rfoo.utils import rconsole
rconsole.spawn_server()
要从外壳连接,请执行以下操作:
$ rconsole
安全说明:以spawn_server()开头的rconsole侦听器将接受任何本地连接,因此在共享主机或类似环境中使用时可能不安全!