1、第一个终端运行nesttest,nesttest首先fork一个子进程,然后父进程退出,子进程首先打开一个txt普通文件对应fd为3,然后创建一个epfd,对应fd为4

  1. lybxin@Inspiron:~/MyRes/LNP/tcp/epolltest$./nesttest&
  2. [1]29274
  3. lybxin@Inspiron:~/MyRes/LNP/tcp/epolltest$-----------test10 EPOLLONESHOT epfd:4,fd:3-----------
  4. [1]+  退出91               ./nesttest
  5. lybxin@Inspiron:~/MyRes/LNP/tcp/epolltest$ps -aux | grep nest
  6. lybxin   29074  3.1  1.267875248692?        Sl   14:41   0:13 gedit /home/lybxin/MyRes/LNP/tcp/epolltest/nesttest.c
  7. lybxin   29275  0.0  0.0   4364    84 pts/12   S    14:48   0:00./nesttest
  8. lybxin   29277  0.0  0.0  15984   928 pts/12   S+   14:48   0:00 grep --color=auto nest
  9. lybxin@Inspiron:~/MyRes/LNP/tcp/epolltest$cat /proc/29275/task/29275/fdinfo/3
  10. pos:0
  11. flags:0100002
  12. mnt_id:24
  13. lybxin@Inspiron:~/MyRes/LNP/tcp/epolltest$cat /proc/29275/task/29275/fdinfo/4
  14. pos:0
  15. flags:02
  16. mnt_id:11

2、使用crash分析上面进程对应的文件信息

  1. crash> task files 29275
  2. PID:29275  TASK: ffff88006be71900  CPU:2   COMMAND:"nesttest"
  3.  files =0xffff88009ee44840,
  4. crash> struct files_struct.fd_array 0xffff88009ee44840
  5.  fd_array ={0xffff880033843200,0xffff880033843200,0xffff880033843200,0xffff880081428c00,0xffff8800b94a5400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}
  6. crash> struct file.f_op 0xffff880081428c00
  7.  f_op =0xffffffff81a33a40<ext4_file_operations>
  8. crash> struct file_operations.poll 0xffffffff81a33a40
  9.  poll =0x0
  10. crash> struct file.f_op 0xffff8800b94a5400
  11.  f_op =0xffffffff81a2ae00<eventpoll_fops>
  12. crash> struct file_operations.poll 0xffffffff81a2ae00
  13.  poll =0xffffffff81254ec0<ep_eventpoll_poll>
 

最新文章

  1. ExtJS4笔记 Data
  2. MS SqlServer学习笔记(索引)
  3. Canvas修行之黑客帝国代码雨
  4. 获取JDBC中的ResultSet的记录的条数
  5. Git命令整理
  6. Flex4+BlazeDS+JAVA+MySql 构建J2EE工程 对用户信息进行管理实例
  7. Python练习题 025:判断回文数
  8. ural 1108
  9. 转载 C#匿名函数 委托和Lambda表达式
  10. nc命令用法举例
  11. Oracle 排序分析函数之ROW_NUMBER、RANK和DENSE_RANK
  12. CDN调度器HAProxy、Nginx、Varnish
  13. Nodejs in Visual Studio Code 12.构建单页应用Scrat实践
  14. jquery字体更改后的鼠标-影像学改变//凝视内容
  15. BEGINNING SHAREPOINT&amp;#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发
  16. python学习笔记(二)、字符串操作
  17. 如何用fiddler + 手机设置无线代理 下载只有 手机才能访问的资源。
  18. 【Java】-NO.16.EBook.4.Java.1.005-【疯狂Java讲义第3版 李刚】- 枚举
  19. GIt 修改上一次的提交(保持Change-Id不变即可)
  20. Appium appium 安装不了

热门文章

  1. [Doctrine Migrations] 数据库迁移组件的深入解析二:自定义集成
  2. Python之函数装饰器
  3. VIM Commands
  4. golang 正则表达式 匹配局域网
  5. BZOJ4247_挂饰_KEY
  6. Ubuntu adb 报错:no permissions (user in plugdev group; are your udev rules wrong?);
  7. VINS(六)边缘化
  8. mysql数据库目录存放位置更改
  9. convert-Csharp-DateTime-Ticks-to-js
  10. 理解Python的装饰器