比如,实时查看一些对象属性等,这样可以帮助我们在不重新启动应用程序的情况下就可以观察进程的执行状态。(这里说明一下,只是验证性的,生产环境要使用的话,还是有不少问题需要考虑的。)- 还是使用 SIGQUIT 信号即“kill -3”来触发执行打印进程内部对象属性.- foo.py主程序,包括注册信号处理函数,创建一个全局的对象用来保存一些属性,启动一个线程让主线程不退出。- foo.py主程序中的信号处理函数动态加载一个指定路径的下的模块,这里我们就假定这个模块路径是”/tmp/my_modules”,可以根据需要修改。首先运行foo.py然后找到foo.py的进程号,然后使用“kill -3”来触发打印内存对象的方法此时应该可以看到foo.py进程打印my_object的属性。
暂无评论