cómo mostrar el proceso como en ps -e

¡Hola!

Quiero hacer un programa c simple que funcione como ps -e. Las únicas columnas que deben mostrarse son PID y CMD. Ese es mi código:

#include <dirent.h>
#include <errno.h>
#include <sys/types.h>
#include <stdio.h>
#include <regex.h>
int main()
{
DIR *dir;
struct dirent *entry;
if ((dir = opendir("/proc")) == NULL)
perror("operation error");
else 
{
printf("PID      CMD\n");
while ((entry = readdir(dir)) != NULL)
printf("  %s\n", entry->d_name);
closedir(dir);
}
return 0; 
}

Mis búsquedas son:

1) ¿Cómo puedo mostrar solo carpetas con números (no sé cómo implementar regcomp ())?

2) ¿Cómo cerca de PID escribir CMD (no puedo pegar cadenas (?) Con la ruta si es una carpeta con número)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta