在 futex(..., FUTEX_WAIT_BITSET_PRIVATE|...) 中查看挂起 Python 的堆栈跟踪

See stacktrace of hanging Python in futex(..., FUTEX_WAIT_BITSET_PRIVATE|...)

一个 Python 进程在 futex() 中挂起:

root@pc:~# strace -p 9042
strace: Process 9042 attached
futex(0x1e61900, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, ffffffff

如果挂起进程,我想查看堆栈跟踪。

不幸的是,ctrl-c 不起作用:-(

如果 Python 像这样挂起,我如何查看堆栈跟踪?

  1. 如果您的系统需要,请安装 gdb python 扩展(例如,请参阅 here,或查看您的发行版文档)
  2. 将 gdb 附加到挂起的进程
  3. 运行

    (gdb) py-bt
    

    而不是常规 bt 来获取 Python 回溯