linux - 在中断中获取 current->pid

标签 linux linux-kernel kernel scheduling interrupt-handling

我正在写一些关于 linux 调度程序的东西,我需要知道在我的中断进入之前哪个进程正在运行。当前结构可用吗?如果我在中断处理程序中执行 current->pid,我会得到我中断的进程的 pid 吗?

最佳答案

可以,current->pid存在并且是被中断的进程(可能是空闲线程,也可能是任何)。

如果您在 Linux 调度器内部编写,您应该非常小心。 current 由调度程序更改,因为它选择了一个新进程来运行,因此它的值取决于您读取它的确切时间。

关于linux - 在中断中获取 current->pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570836/

相关文章:

linux - 为什么在非标准位置链接共享库后会出现运行时错误?

java - 重新安装Java JDK后无法在ubuntu上打开eclipse

linux bash : reacting to -c and -[0-9] in a case

linux - Netlink 套接字和 libnl - nl_recvmsgs_default 返回 -16 (EBUSY)

linux - 如何设置 linux 内核不发送 RST_ACK,这样我就可以在原始套接字中提供 SYN_ACK

c - linux 内核系统调用服务例程的源代码在哪里?

linux - 使用 Linux sysfs_notify 调用

linux - 如何将多个接口(interface)绑定(bind)到原始套接字

kernel - C++ 中的模板使用是否需要一些任务初始化?

c - Linux内核 - 从其他模块调用函数时的上下文切换?