gpt4 book ai didi

linux - 释放函数在另一个进程上下文中被调用

转载 作者:太空宇宙 更新时间:2023-11-04 04:25:43 25 4
gpt4 key购买 nike

我在设备驱动程序的file_operation中注册了一个释放回调函数,例如:

struct file_operations driver_fops =
{
.open = drv_open,
.release = drv_release,
.unlocked_ioctl = drv_unlocked_ioctl,
.mmap = drv_mmap,
};

当进程(打开设备文件)被杀死时,释放函数将被调用。但奇怪的是,当我尝试在 drv_release 中获取当前进程的 pid 时,有时该 pid 不属于打开该文件的进程。这意味着release()函数在另一个进程上下文中被调用。这是正常的吗?

最佳答案

也许这是因为 fork()。如果父进程打开您的设备,然后 fork 并死亡,然后子进程关闭描述符 - 关闭将来自另一个进程。

关于linux - 释放函数在另一个进程上下文中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com