fscanf (stream, "%lu",&ch);
printf ("Маска блокируемых сигналов: %lu\n", ch);
fscanf (stream, "%lu",&ch);
printf ("Маска игнорируемых сигналов: %lu\n", ch);
fscanf (stream, "%lu",&ch);
printf ("Маска перехватываемых сигналов: %lu\n", ch);
fscanf (stream, "%lu",&ch);
printf ("Канал, в котором процесс ждет: %lu\n", ch);
fscanf (stream, "%lu",&ch);
printf ("Количество страниц записанных на устройство подкачки: %lu\n", ch);
fscanf (stream, "%lu",&ch);
printf ("Сумма nswap для всех подпроцессов: %lu\n", ch);
fscanf (stream, "%d",&ch);
printf ("Сигнал, который будет послан родительскому процессу при завершении работы: %d\n", ch);
fclose(stream);
}
}
void PrintProcInfo(char * pid)
{
// формирование пути
char path[255];
strcpy(path, "/proc/");
strcat(path, pid);
strcat(path, "/cmdline");
char buffer[1000];
FILE *stream;
printf("\n------------------------------------------------------------\n");
printf("Файл \'%s\': Командная строка запуска процеса \n ", path);
printf("------------------------------------------------------------\n");
if ((stream = fopen(path, "r")) == NULL)
{
printf("ОШИБКА! Не удалось открыть файл!\n");
return;
}
else
{
// чтение содержимого файла в буфер
int ch = 0, i = 0;
ch = fgetc(stream);
for (i; feof(stream) == 0; i++)
{
buffer[i] = (char) ch;
ch = fgetc(stream);
}