【发布时间】:2014-02-17 00:47:36
【问题描述】:
我是 Linux 新手。我正在开发一个 C 应用程序。我需要几个进程的uid。我要做的是解析/proc/pid/status 文件以获取Uid 的进程。
Name: init
State: S (sleeping)
Tgid: 1
Pid: 1
PPid: 0
TracerPid: 0
Uid: 0 0 0 0 0
为了解析这个文件,我正在考虑使用fscanf 函数。
在这里,我想编写一些通用代码,适用于不同长度的进程。但我很困惑什么是解析这个文件的好方法。谁能帮帮我?
编辑: 这就是我所拥有的。但是我创建了不必要的数组。我只想跳到 Uid。但我不知道该怎么做。
char temp[8][1024];
struct FILE * pFile;
pFile = fopen ("/proc/1/status","w+");
fscanf(pFile,"%[^\n] %[^\n] %[^\n] %[^\n] %[^\n] %[^\n] %s %s",temp[0],temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7]);
printf(" User id %s \n",temp[7]);
谢谢
【问题讨论】:
-
如果您首先努力自己解决问题,如果遇到麻烦:发布您的代码,描述结果以及它们有什么问题,您将从 Stack Overflow 获得更好的结果。
-
@mah 我添加了代码