Linux - procesy

Mam za zadanie napisać program, który będzie wypisywał identyfikatory UID, GID, PID, PPID, PGID dla danego procesu.

Na zajęciach napisaliśmy właśnie taki program w języku ANSI C, wygląda on następująco:

#include 


main() {


printf("PID: %d\n", getpid());

printf("PPID: %d\n", getppid());

printf("PGID: %d\n", getpgid());

printf("UID: %d\n", getuid());

printf("GID: %d\n", getgid());


}

No i po skompilowaniu i uruchomieniu programu, na ekranie wypisywane są te identyfikatory, ale czy mógłby mi ktoś powiedzieć dla jakiego (którego) procesu identyfikatory są wypisywane?

Tego, który się wykonuje (czyli tego, który napisałeś, skompilowałeś i uruchomiłeś).

//edit

Źle się wyraziłem. Punktem odniesienia jest wykonywany proces. PID zatem odnosi się do niego a PPID do jego rodzica. I tak dalej…

Czyli wyświetlane będą identyfikatory odpowiedzialne za wyświetlanie tegoż programu po uruchomieniu ?

Identyfikatory nie są odpowiedzialne za wyświetlanie czegokolwiek. Przerób program tak, żeby czekał na znak a z drugiej konsoli uruchom ps (przykładowo: ps -aux). Zobaczysz swój proces i jego PID - odpowiadał będzie PIDowi wyświetlonemu przez aplikację. Shell, spod którego ją uruchomiłeś powinien odpowiadać PPID. I tak dalej.