Linux中如何让进程处于T(trace)状态?

Linux中如何让进程处于T(trace)状态?

根据“可中断睡眠”状态表示什么? 有一种状态称为“T”。

我尝试运行一个 python 脚本,strace/proc/pid/stat仍然显示该进程正在S等待do_wait( cat /proc/6145/wchan -> do_wait)

def f():
    import pdb
    pdb.set_trace()
    print(1)

f()

答案1

你好像跟T混了t。从man ps:

               T    stopped by job control signal
               t    stopped by debugger during the tracing

无论如何,要将进程置于状态T(已停止)、kill -STOP其 PID,或在终端运行时按 Ctrl+Z。要将进程置于状态t(被跟踪),请使用 ptrace 附加到该进程,但不要让它像 strace 那样继续运行。一种方法是运行gdb,然后attach运行它的 PID。

相关内容