TASK_TRACED状态

  • 蓝蓝的天
  • LV5工程师
  • |      2016-07-06 16:30:52
  • 浏览量 458
  • 回复:1
TASK_TRACED是被跟踪的状态,进程会停下来等待跟踪它的进程对它进行进一步的 操作。如何才能制造出处于TASK_TRACED状态的进程呢?最简单的例子是用gdb调试 程序,当进程在断点处停下来时,此时进程处于该状态。 下面用一个最简单的hello程序来验证gdb停下来的程序的确处于TASK_TRACED的 状态。 代码如下: 编译: 在一个终端,gdb将程序停下,停在断点处: 在另一个终端查看进程的状态: 显示为T的那个进程处于TASK_TRACED状态,进程号为2252 也可以用cat命令查看其状态,如下: TASK_TRACED状态是处于暂停状态,它不会被SIGCONT信号唤醒。只有调试进程 通过ptrace系统调用,下达PTRACE_CONT、PTRACE_DETACH等指令,或者调试 进程退出,被调试的进程才能恢复TASK_RUNNING的状态。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
兵临城下 2016-07-07
向楼主学习。
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子