当前位置: 首页 > news >正文

pstreegdb

pstree 查看进程的线程数

import threading                                                
import time                                                     
                                                                
def run(i):                                                     
    if i % 2 != 0:                                              
        time.sleep(10)                                          
        raise Exception("GG")                                   
    time.sleep(1000)                                            
                                                                
def main(count):                                                
    ts = []                                                     
    for i in range(count):                                      
        ts.append(threading.Thread(target=run, args=(i,)))      
    for t in ts:                                                
        t.setDaemon(True)                                       
        t.start()                                               
    time.sleep(2000)                                            
                                                                
import click                                                    
                                                                
@click.group()                                                  
def cli():                                                      
    pass                                                        
                                                                
@cli.command()                                                  
@click.option("--count", type=int)                              
def test(count):                                                
    main(count)                                                 

通过pstree 查看对应线程情况

pstree -p 31864
python3(31864)─┬─{python3}(31865)
               └─{python3}(31866)
pstree -p 31864
python3(31864)───{python3}(31865)

gdb 查看进程运行状态

gdb 
attach pid
info threads  查看所有线程
thread thread_id 选择线程调试
info stack 查看当前线程的栈信息
thread apply all bt 查看所有线程的栈信息

info stack

#0  0x00007f7226efba1d in __libc_recv (fd=3, buf=0x2bdbe00, len=8192, flags=0)
    at ../sysdeps/unix/sysv/linux/recv.c:28
#1  0x00000000005bb8f6 in ?? ()
#2  0x00000000005bdfe9 in ?? ()
#3  0x00000000005be2e4 in ?? ()
#4  0x00000000005be378 in ?? ()
#5  0x00000000005030d5 in ?? ()
#6  0x0000000000506859 in _PyEval_EvalFrameDefault ()
#7  0x0000000000501945 in _PyFunction_FastCallDict ()
#8  0x0000000000591461 in ?? ()
#9  0x00000000005a337c in _PyObject_FastCallDict ()
#10 0x00000000005a3a5e in PyObject_CallMethodObjArgs ()
#11 0x00000000004c2e07 in ?? ()
#12 0x00000000004c2f3b in ?? ()
#13 0x00000000005dc390 in ?? ()
#14 0x00000000005dc705 in ?? ()
#15 0x0000000000502d6f in ?? ()
#16 0x0000000000506859 in _PyEval_EvalFrameDefault ()
#17 0x0000000000502209 in ?? ()
#18 0x0000000000502f3d in ?? ()
#19 0x0000000000506859 in _PyEval_EvalFrameDefault ()
#20 0x0000000000502209 in ?? ()
#21 0x0000000000502f3d in ?? ()
#22 0x0000000000506859 in _PyEval_EvalFrameDefault ()
#23 0x0000000000502209 in ?? ()
#24 0x0000000000502f3d in ?? ()

相关文章:

  • 一点正则表达式的学习碎片
  • 链表分割
  • void*
  • python requests.session 与 requests
  • 爬虫_urlencode问题
  • 如何实现MySQL的自动备份
  • 魔术索引
  • PIC数据采集系统---接口功能测试
  • 字符串排列
  • 数组中的逆序对
  • Windows 8 应用商店应用开发 之 氛围光传感器
  • 子串判断
  • arm汇编程序中的[|]
  • 实时中位数
  • 【spring】IllegalArgumentException Can not set field to $Proxy 在spring中使用事物或AOP遇到的错误...
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【Amaple教程】5. 插件
  • IDEA 插件开发入门教程
  • iOS | NSProxy
  • Java反射-动态类加载和重新加载
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Vue.js 移动端适配之 vw 解决方案
  • 测试开发系类之接口自动化测试
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 目录与文件属性:编写ls
  • Hibernate主键生成策略及选择
  • 湖北分布式智能数据采集方法有哪些?
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)Java 简介
  • (27)4.8 习题课
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (多级缓存)缓存同步
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二)斐波那契Fabonacci函数
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (一) storm的集群安装与配置
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Micro Framework 4.2 beta 源码探析
  • /var/log/cvslog 太大
  • @Builder用法
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [CSS]中子元素在父元素中居中
  • [hdu 3652] B-number
  • [iOS]如何删除工程里面用cocoapods导入的第三方库
  • [NCTF 2022] web题解
  • [python]mysqlclient常用命令