跟踪状态(TASK_TRACED)
来源:互联网 发布:甲骨文 java 编辑:程序博客网 时间:2024/05/16 17:06
Linux进程状态:T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态。
向进程发送一个SIGSTOP信号,它就会因响应该信号而进入TASK_STOPPED状态(除非该进程本身处于TASK_UNINTERRUPTIBLE状态而不响应信号)。(SIGSTOP与SIGKILL信号一样,是非常强制的。不允许用户进程通过signal系列的系统调用重新设置对应的信号处理函数。)
向进程发送一个SIGCONT信号,可以让其从TASK_STOPPED状态恢复到TASK_RUNNING状态。
当进程正在被跟踪时,它处于TASK_TRACED这个特殊的状态。“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。比如在gdb中对被跟踪的进程下一个断点,进程在断点处停下来的时候就处于TASK_TRACED状态。而在其他时候,被跟踪的进程还是处于前面提到的那些状态。
对于进程本身来说,TASK_STOPPED和TASK_TRACED状态很类似,都是表示进程暂停下来。
而TASK_TRACED状态相当于在TASK_STOPPED之上多了一层保护,处于TASK_TRACED状态的进程不能响应SIGCONT信号而被唤醒。只能等到调试进程通过ptrace系统调用执行PTRACE_CONT、PTRACE_DETACH等操作(通过ptrace系统调用的参数指定操作),或调试进程退出,被调试的进程才能恢复TASK_RUNNING状态。
④暂停状态 (TASK_STOPPED)
进程的执行被暂停,当进程接收到SIGSTOP,SIGTSTP,SIGTTIN或SIGTTOU信号后,进入暂停状态。
⑤跟踪状态(TASK_TRACED)
进程的执行被debugger程序暂停,当一个程序被另一个进程监控时(例如debugger执行ptrace()系统调用监控一个测试程序),任何信号都可以把这个进程至于TASK_TRACED状态。
- 跟踪状态(TASK_TRACED)
- 跟踪用户状态
- 跟踪Oracle启动状态
- newlisp跟踪jobtracker状态
- 04-跟踪用户状态
- Web应用程序状态跟踪
- InventTrans中的状态跟踪
- 11.3 跟踪网络传输状态
- 订单状态的跟踪分析
- struts2 跟踪用户状态session
- Netfilter连接跟踪状态解析
- 动态跟踪程序运行状态一法
- Struts2总结 – 跟踪用户状态
- 实例说明Web中的状态跟踪
- 连接跟踪中的RELATED状态详解
- Web服务器如何跟踪客户状态
- LR对事务状态的跟踪
- Linux PHY几个状态的跟踪
- redis 资料收集
- 环境变量的配置
- 同事的Excel中做的数据图突然不能选择
- OpenRisc-30-SD card controller模块分析与验证
- oracle 相关
- 跟踪状态(TASK_TRACED)
- springmvc
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- sap 预制凭证与暂存凭证的区别
- HTTP协议详解
- net time 发生系统错误5的解决
- _cdecl和_stdcall
- Struts 2视频教程
- Unity3D集成SVN进行版本控制