`
fangzhouxing
  • 浏览: 211639 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

我也来实现在top监视窗口显示Django当前正在执行的请求URL

阅读更多

近来一直在努力解决python进程占用CPU 100% 的问题, 今天看到了这篇帖子“在top监视窗口显示Django当前正在执行的请求URL ”,我使用的是Lighttpd/fastcgi,直接用帖子中的代码没有走通,最后使用了下面的代码实现了这个功能:

 

    def show_process_detail(self, request):
        """在ubuntu的top命令中看到进程对应的URL"""
        if settings.DEBUG: return
        
        from ctypes import cdll, byref, create_string_buffer
        proc_name = request.get_full_path().replace('/django.fcgi/','')
        libc = cdll.LoadLibrary('libc.so.6')
        buff = create_string_buffer(len(proc_name)+1)
        buff.value = proc_name
        libc.prctl(15, byref(buff), 0, 0, 0)
 

在TOP界面中的COMMAND列能看到了URL, 但只能显示15个字符,按热键c也无法做到显示全部的URL值,这是留下的一点遗憾。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics