根据“可中断睡眠”状态表示什么? 有一种状态称为“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。