我正在使用Linux内核模块编写字符设备,内核版本为:4.14。 基本上,具有给定tgid的用户空间进程可以通过ioctl与我的设备进行交互。
我需要在/ proc / pid中创建一个新目录(其中pid是与我的设备进行交互的进程的tgid),以便可以在该新目录中创建一些带有一些日志的文件。
是否可以在/ proc / pid中创建一个新目录而无需重新编译Linux内核?
尤其是我尝试使用:
struct proc_dir_entry *proc_create(
const char *name, umode_t mode,
struct proc_dir_entry *parent,
const struct file_operations *proc_fops)
但是我无法获得要写入的pid文件夹的struct proc_dir_entry *
,因为我无法在定义PDE的地方包括fs/proc/internal.h
。
这是我尝试做的事情:
struct file *fp = filp_open("/proc/1",....);
struct proc_dir_entry *parent ;
parent = PDE(fp->f_dentry->d_inode);
任何解决方案吗?