gpt4 book ai didi

linux-kernel - 在Linux中如何检索进行系统调用的进程的pid

转载 作者:行者123 更新时间:2023-12-01 09:34:40 26 4
gpt4 key购买 nike

我试图了解系统调用在 Linux 内核中是如何工作的。我的一个问题是,如何检索进行系统调用的进程的 pid?

例如我正在查看 read() 调用(同步读取),我认为它在 fs/read_write.c 中定义为

ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)

最佳答案

在系统调用上下文(即调用进程的上下文)中,您可以检查类型为 struct task_struct 的全局变量 current 这包含一个 pid 字段,您可以从中获取 pid。

只需执行 current->pid 即可获取您所在的当前任务上下文的 pid。

我假设您指的是内核中定义的系统调用的实际代码。

关于linux-kernel - 在Linux中如何检索进行系统调用的进程的pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524500/

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