4

我正在研究死锁检测算法,我只得到内核级库,即#include <linux/somelibrary>没有别的。是否有内核级工具可以让我获得类似于 of 的当前进程的getpid()pid unistd.h

4

2 回答 2

7

我做了一些快速的研究,我找到了答案。非常感谢您的指导。我使用的快速代码是:

printf("My current process id/pid is %d\n", current->pid);

再次感谢!

于 2009-02-09T23:22:50.357 回答
4

这个问题意义不大。

你在写基于内核的代码吗?在这种情况下,您可以使用指向当前任务的任务结构(包含具有 pid 的成员)的“当前”宏来获取当前任务的 pid。只有当您的内核代码在“当前任务”有意义的上下文中运行(即不是中断、tasklet 等)时,这才有效。

如果您正在编写用户空间代码,那么您应该没有理由不能调用 getpid,它是来自 unistd.h 中定义的 C 库(或它包含的东西)的库调用,它会进行系统调用。如果有这样的原因,请说明。

在 Linux 中进行系统调用并不是特别困难,但确实涉及到您不想编写的特定于体系结构的代码。

于 2009-02-09T23:03:44.070 回答