Witam.
Mam pytanie dotyczace programu, który jest swego rodzaju microshellem napisanym w jezyku C i standardach ansi. Jest to dość ważna praca, którą potrzebuje na studia (nawiasem mówiąc, nie wiąże swojej przyszlosci z C, bardziej interesuje mnie szerko pojety "Web Development" i w tą stronę będę szedł).
Mam natomiast pytanie, gdyż napisałem kod, który ma wyświetlić procesy z poziomu mojego microshella i kod, który odpowiada komendzie 'less /proc/pid/stat i wyswietla peirwsze cztery wartosci zwracane przez to polecenie.
Kod odpowiadający za wypisanie "większej ilosci informacji" o danym procesie wygląda tak:
void moreps2(char **args) {
int val;
val = atoi(args[1]);
printf("pid = %d\n", val);
char filename[1000];
sprintf(filename, "/proc/%d/stat", val);
FILE *f = fopen(filename, "r");
int unused;
char comm[1000];
char state;
int ppid;
fscanf(f, "%d %s %c %d", &unused, comm, &state, &ppid);
printf("comm = %s\n", comm);
printf("state = %c\n", state);
printf("parent pid = %d\n", ppid);
fclose(f);
}
Jednak występuje taki błąd, który zamiescilem w zalaczniku
Czym on jest spowodowany? Czy mógłby mi ktoś z tym pomóc?
Pozdrawiam, Dawid
fprintf(stderr, "Failed to open stat file: %s - %s !\n", filename, strerror(errno));