在C中显示正在运行的进程列表

你能建议我检查当前正在运行的进程的系统调用吗? (我必须写一个像顶部的C函数)

我试图读取proc/文件夹,但在我的情况下并不好。

在Linux上执行此操作的唯一方法是访问/proc/ pseudo-file系统。 请记住, /proc/ files不是磁盘上的“真实”文件,因此I / O(即读取/proc/文件)非常快。

阅读proc(5)手册页。

你可以使用读取/proc/ libprocps

pstop (以及htop等…)命令都使用/proc/ ; 如果你想在程序中使用它们(这可能是一个坏主意)使用popen(3) (得到它们的输出)而不是系统(3)

因此,要获得正在运行的进程,您可以在/proc/上使用readdir ,然后读取/proc/*/stat文件,记住状态为R等的那些……等等……

PS

ps aux

哪里:

 -A: select all processes a: select all processes on a terminal, including those of other users x: select processes without controlling ttys 

我个人喜欢用:

ps -ef