你能建议我一个检索当前正在运行的进程的系统调用吗?(我必须写一个像top这样的C函数)
我试图阅读该proc/
文件夹,但在我的情况下并不好。
在 Linux 上做到这一点的唯一/proc/
方法是访问伪文件系统。请记住,/proc/
文件不是磁盘上的“真实”文件,因此 I/O(即读取/proc/
文件)非常快。
阅读proc(5)手册页。
你可以使用libprocps
which is reading/proc/
ps
and top
(and htop
etc...) 命令都在使用/proc/
; 如果你想在程序内部使用它们(这可能是个坏主意)使用popen(3)(获取它们的输出)而不是system(3)
因此,要获取您可以使用的正在运行的进程readdir
,/proc/
然后读取/proc/*/stat
文件,记住那些状态为R
等...等...
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