我试图了解系统调用在Linux内核中是如何工作的。我的一个问题是,如何检索进行系统调用的进程的pid?
我正在查看read()调用(同步读取),我认为它在read()中定义为
ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos)发布于 2012-05-09 21:51:49
在系统调用上下文(它是调用进程的上下文)中,您可以检查全局变量current,它的类型是struct task_struct,它包含一个可以从其中获取pid的pid字段。
只需执行current->pid以获得当前任务上下文的pid。
我假设您是指内核中定义的系统调用的实际代码。
https://stackoverflow.com/questions/10524500
复制相似问题