从Linux内核中的sk_buff和inode获取PID

时间:2015-03-03 20:41:12

标签: c linux networking kernel

在Linux内核中,我们在网络堆栈中有一个sk_buff结构,我们从中获取inode,从这个inode我们想要得到创建inode的进程的pid。 sk_buff中有一个pid字段,但始终设置为0。

从内核中有没有办法知道inode中的pid?

1 个答案:

答案 0 :(得分:1)

您可以使用

从skb读取PID

<强>&是skb- GT; SK-&GT;承插&GT;文件 - &GT; f_owner-&GT; PID

对于某些较旧的内核版本,您可以将PID读作

<强>&是skb- GT; SK-&GT;承插&GT;文件 - &GT; f_owner