Linux 进程可以拥有的最低进程 ID 是多少?

Posted

技术标签:

【中文标题】Linux 进程可以拥有的最低进程 ID 是多少?【英文标题】:What is the lowest possible process ID that a Linux process can have? 【发布时间】:2010-08-13 00:55:30 【问题描述】:

在我的系统上,现在运行的最低 ID 是 1 (init)。我正在围绕 pidof 制作一个小型包装函数,我想知道,一个进程可以拥有的最低进程 ID 是多少?

我问的原因是因为我想从我的函数中返回一个整数,指示“进程没有运行”(在这种情况下,pidof 本身返回一个空字符串)。我在考虑使用 0 或 -1,我只是想确保真正的进程永远不会有这样的 ID。

【问题讨论】:

【参考方案1】:

PID 总是正数,因此 0 和 -1 都可以作为非 PID 标记。几个与 PID 相关的系统调用,如 wait()kill(),为这些值赋予了特殊含义。

【讨论】:

以上是关于Linux 进程可以拥有的最低进程 ID 是多少?的主要内容,如果未能解决你的问题,请参考以下文章

用于确定进程拥有的套接字的 Linux API

ptrace PTRACE_ATTACH 失败 - 用户拥有的进程的 Linux 权限

如何打印Linux上进程拥有的所有线程的线程ID

Linux基础命令---调整程序优先级renice

Linux中另一个进程的重复文件描述符(没有sendmsg)

Linux命令之树状图显示所有进程pstree