Linux内核API完全参考手册第三章.pdf

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核API完全参考手册第三章

第3 章 Linux进程管理内核API 函数:__task_pid_nr_ns( ) 文件包含: #include linux/sched.h 函数定义: 函数在内核源码中的位置:linux-2.6.30/kernel/pid.c 函数定义格式:pid_t__task_pid_nr_ns(struct task_struct *task, enum pid_type type, struct pid_namespace *ns) 函数功能描述: 此函数用于获取进程的进程号,此进程应满足以下约束条件: 1)如果参数type不等于PIDTYPE_PID ,则参数task用其所属任务组中的第一个任务赋值,否 则保持task不变; 2 )此进程是参数task任务描述符中的进程; 3 )保证进程描述符的pid_namespace和参数ns相同。 输入参数说明: 参数task 是struct task_struct 型变量,用于保存任务的基本信息,其定义在文件linux- 2.6.30/include/linux/sched.h ,内核源码注释比较详细,请读者自行查看。 参数type是pid_type 型变量,此变量是一个枚举型变量,其定义如下: enum pid_type { PIDTYPE_PID, //进程的进程号 PIDTYPE_PGID, //进程组领头进程的进程号 PIDTYPE_SID, //会话领头进程的进程号 PIDTYPE_MAX }; 参数ns是struct pid_namespace 型变量,是对进程命名空间信息的描述,其定义如下: struct pid_namespace { struct kref kref; struct pidmap pidmap[PIDMAP_ENTRIES]; int last_pid; struct task_struct *child_reaper; struct kmem_cache *pid_cachep; unsigned int level; struct pid_namespace *parent; #ifdef CONFIG_PROC_FS struct vfsmount *proc_mnt; #endif Linux内核API完全参考手册 #ifdef CONFIG_BSD_PROCESS_ACCT struct bsd_acct_struct *bacct; #endif }; 其中: 字段kref是一个引用计数器,代表此命名空间在多少进程中被使用; 字段pidmap[]记录当前系统的PID使用情况; 字段last_pid记录上一次分配给进程的PID值; 字段child_reaper保存了指向该进程的task_struct 的指针; 字段pid_cachep指向该进程在cache 中分配的空间; 字段parent是指向父命名空间的指针; 字段level表示当前命名空间在命名空间层次结构中的深度,初始命名空间的level为0 ,该命名 空间的子空间level为1,下一层的子空间level为2 ,依次递推。level 的计算比较重要,因为level较 高的命名空间中的ID ,对level较低的命名空间来说是可见的,从给定的level设置,内核即可推断 进程会关联到多少个ID 。 返回参数说明: 此函数的返回结果是符合条件的进程的进程号。 实例解析: 编写测试文件:__task_pid_nr_ns.c 头文件引用: #include linux/module.h #include linux/sched.h #include linux/pid.h MODULE_LICENSE(GPL); 子进程函数定义: //子进程函数定义 int my_function(void * argc) { printk(0in the kerne

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档