内核函数 获取进程描述符 struct pid

本文介绍了Linux 2.6.32内核中获取进程描述符的四个关键函数:find_pid_ns()、get_pid()、find_get_pid() 和 find_vpid()。这些函数用于根据进程号和命名空间获取并管理进程描述符的引用计数。
摘要由CSDN通过智能技术生成

2.6.32

(1)struct pid *find_pid_ns(int nr, struct pid_namespace *ns)
功能:根据命名空间和进程号nr获得进程描述符 pid结构体
nr:进程号
ns:命名空间
返回值: 进程描述符指针
头文件:#incldue <linux/pid.h>


(2)static inline struct pid *get_pid(struct pid *pid)
功能:将进程描述符pid的引用计数加1
pid:进程描述符指针
返回值:返回进程描述符指针
头文件:#include <linux/pid.h>
内核实现:(2.6.32)
static inline struct pid *get_pid(struct pid *pid)
{
if (pid)
atomic_inc(&pid->count);//增加引用计数
return pid;
}

(3) struct pid *find_get_pid(pid_t nr)
功能:根据进程号获得进程描述符pid并将进程描述符引用计数加1
参数:进程号
返回值:进程描述符
头文件:#include <linux/pid.h>
内核实现:(2.6.32)
struct pid *find_get_pid(pid_t nr)
{
struct pid *pid;
rcu_read_lock();//RCU读锁加锁
pid = get_p

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值