Вивчення основних команд операційної системи Linux. Вивчення файлової системи процесів /proc. Вивчення роботи «демонів». Програма «клієнт-сервер»
17

Додаток 1

Лістинг програми l2.c

#include <iostream.h>

#include <unistd.h>

 

void PrintMainStat();

void ReadFile(char* fileName, int index);

void PrintProcStat(char * pid);

void PrintProcInfo(char * pid);

 

int main(int argc, char *argv[])

{

    if (argc == 1)

        PrintMainStat(); // вывод на экран содержимого файлов файловой системы /proc

    if (argc == 2)

    {

        PrintProcInfo(argv[1]);

        PrintProcStat(argv[1]);

    }

    if (argc > 2)

    {

        printf("ОШИБКА! Неверное количество аргументов!");

 return 1;

    }   

    return 0;

}

 

void PrintMainStat()

{

    int N = 10;

    char* fileNameMas[10] = { "/proc/cpuinfo\0", "/proc/interrupts\0", "/proc/partitions\0", "/proc/meminfo\0", "/proc/mounts\0", "/proc/devices\0", "/proc/filesystems\0", "/proc/modules\0", "/proc/cmdline\0", "/proc/version\0"};

    printf("-------------------------------------------\n");

    printf("ИЗУЧЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ ПРОЦЕССОВ /PROC \n");

    printf("-------------------------------------------\n\n");

    printf("--[ Содержимое файлов файловой системы ]--\n\n");

    for (int q = 0; q < N; q++)

    {

        ReadFile(fileNameMas[q], q);

    }

}

 

void ReadFile(char * fileName, int index)

{