-2

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

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

4

2 回答 2

3

在 Linux 上做到这一点的唯一/proc/方法是访问伪文件系统。请记住,/proc/文件不是磁盘上的“真实”文件,因此 I/O(即读取/proc/文件)非常快。

阅读proc(5)手册页。

你可以使用libprocpswhich is reading/proc/

psand top(and htopetc...) 命令都在使用/proc/; 如果你想在程序内部使用它们(这可能是个坏主意)使用popen(3)(获取它们的输出)而不是system(3)

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

于 2013-05-10T12:49:46.497 回答
1

ps

ps辅助

在哪里:

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

我个人喜欢使用:

ps -ef

于 2013-05-10T12:48:58.817 回答