I am new in Linux. I am developing a C application. I need uid of several processes. What I am trying to do is parsing /proc/pid/status file to get Uid of processes.
Name: init
State: S (sleeping)
Tgid: 1
Pid: 1
PPid: 0
TracerPid: 0
Uid: 0 0 0 0 0
To parse this file I am thinking of using fscanf function.
Here I want to write some generic code, which works for different lengths of process. But I am confused what is really a good way to parse this file. Can any one help me?
Edit: Here is what I have got. But I have created unnecessary array. I just want to skip till Uid. But I don't know how to.
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]);
Thanks