c - find_get_pid() 内核函数的错误值是多少?

标签 c linux kernel pid

我正在使用 find_get_pid() 调用来获取给定 pid_t pidstruct pid *,即进程 ID。但是我想包括一些健全性检查,因为 pid 值将由用户进程提供,假设用户给出的 pid 值为 123 并且没有进程使用 pid 123 存在,在这种情况下,find_get_pid 返回的错误值是多少。它会返回一个 NULL 指针吗?

示例代码 stub 如下:

    struct pid *pid_struct;
    struct task_struct *task;

    pid_struct = find_get_pid(pid);
 /* INSERT SANITY CHECK ON pid_struct ? */
    task = pid_task(pid_struct, PIDTYPE_PID);

最佳答案

find_get_pid 如果找不到 pid,则返回 NULL 指针。

通过尝试一些无效的 pid 根据经验发现了这一点。

关于c - find_get_pid() 内核函数的错误值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39682261/

相关文章:

c - 生成没有 time.h 的随机值

c - 定义可以访问位、半字节、字节的 union

ruby - *nix 是什么意思?

java - 在 Linux 下提取 Lotus Notes NSF 文件

c - %r 在内核 printf 格式中意味着什么?

c指针数组段错误

c - 浮点:invalid error turbo C

linux - 如何删除sed中给定变量的行?

c++ - 我怎样才能完全理解操作系统的工作原理?

c - 共享库页面是匿名的吗?