如何获取 Linux 机器上次启动以来创建的进程数?
我想从 C++ 程序中获取它。哪个 proc 文件存储它?
答案1
那将是/proc/stat
:
The "processes" line gives the number of processes and threads created, which
includes (but is not limited to) those created by calls to the fork() and
clone() system calls.
Documentation/filesystems/proc.txt
有关 内容的更多信息,请参阅内核源代码树中的文件/proc/stat
。
答案2
记住,永远不要忽视 Linux 手册页。我在下面放了一个 /proc 的链接。
为了补充 Sami Laine 给出的答案,根据上面链接的页面,/proc/stat
有一个常见的条目:
processes 86031
Number of forks since boot.
附注:(稍微偏离主题)如果您希望在特定过程中查看这些数据,而不是“一般地”,则应使用/proc/[pid]/status
:
Provides much of the information in /proc/[pid]/stat and
/proc/[pid]/statm in a format that's easier for humans to
parse.
答案3
自上次启动以来的 Fork 计数:
vmstat -f