I'm trying to determine a list of process ids that are associated with a particular group (i.e., the owner of the process belongs to the group) That is, if I look at a PID, I can determine the UID. I then want to know if that UID is in a particular group.
As best I can tell I have to:
- get the UID from the PID using getprocs64
- get the username from the UID using getpwuid(uid)
then, given the groupname I need to call getgrnam(groupName)
which will give me a group structure. grp->gr_mem is then an array of strings, which Il will have to parse looking for the username.
Then I have to repeat that for every process in the system.
Surely there is a less pedestrian way.