Linux 当用户应用程序中发生页面错误时,内核处理程序处理此错误时的当前pid是什么

Linux 当用户应用程序中发生页面错误时,内核处理程序处理此错误时的当前pid是什么,linux,process,linux-kernel,malloc,page-fault,Linux,Process,Linux Kernel,Malloc,Page Fault,我运行的用户应用程序如下所示: char *buf = malloc(sizeof(int) * 100000); int *a = (int *)buf; int i = 0; for(; i < 100000; i++) { a[i] = i; } 这里的“tartgetPid”是我传入内核的用户应用程序pid, “current”是内核的宏 但这一行从未触发,因为当内核处理页面错误时,它的当前pid将不是触发页面错误的用户应用程序的pid 我想问一下 当用户应用程序中出现页

我运行的用户应用程序如下所示:

char *buf = malloc(sizeof(int) * 100000);
int *a = (int *)buf;
int i = 0;
for(; i < 100000; i++)
{
    a[i] = i;
}
这里的“tartgetPid”是我传入内核的用户应用程序pid, “current”是内核的宏

但这一行从未触发,因为当内核处理页面错误时,它的当前pid将不是触发页面错误的用户应用程序的pid

我想问一下
当用户应用程序中出现页面错误时,内核处理程序处理此错误时,当前pid是什么

当前->pid显示什么?其他一些数字而不是targetPid如何将targetPid传递到内核中?
if (targetPid == current->pid)
    printk(KERN_ALERT "soso : targetPid : %d, current->pid : %d\n", targetPid, current->pid);