linux 用户态|内核态打印函数调用进程的pid
1,用户态打印函数调用进程的pid
#include <stdio.h>
#include <unistd.h> // 用于 getpid()
void my_function() {
pid_t pid = getpid(); // 获取当前进程的 PID
printf("Calling process PID: %d\n", pid);
}
int main() {
my_function(); // 调用函数
return 0;
}
2,内核态打印函数调用进程的pid
内核中,如果我有一个内核函数,并且我想知道哪个进程调用了它,我可以修改函数以记录current->pid。举例test.ko 打印:
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h> // 用于 current->pid
static void my_kernel_function(void) {
pid_t pid = current->pid; // 获取当前进程的 PID
printk(KERN_INFO "Calling proce