0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 33

Процессы и сигналы

23.12.2012, 15:55. Показов 2144. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня такое задание "Процесс 1 открывает файл и порождает потомков 2 и 3. Потомки пишут в файл по N байт и завершают работу. После этого процесс 1 считывает данные из файла и выводит на экран. Объяснить полученный результат."
Я попытался написать программу, но ограничился на том, что по идее процесс 1 порождает потомков 2 и 3, и они по очереди пишут в файл и завершаются. Причем процесс 3 посылает сигнал процессу 1. На этом я остановился, потому что компилятор выдал мне кучу ошибок.
Скажите, что неправильно?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <fcntl.h>
#include <stdio.h>
#include <signal.h>
int f2(int), f3(int);
int fd, pid1, pid2, pid3, st, c2 = "2", c3 = "3";
void main(void)
{ 
 fd = open("file", O_CREAT | O_RDWR | O_TRUNC, 0666);
 printf("Process 1, pid = %d:\n", getpid());
 pid2 = fork();
 if (pid2 == 0) 
  { 
   printf("Process 2, pid = %d:\n", getpid());
   signal(SIGUSR2, f2);
   pid3 = fork();
   if (pid3 == 0) 
    { 
     printf("Process 3, pid = %d:\n", getpid());
     signal(SIGUSR3, f3);
     sleep(2);
     printf("Process 3: end\n");
    } 
   if (pid3 < 0) printf("Cann't create process 3: error %d\n", pid3);
   wait(&st);
   printf("Process 2: end\n");
  }
 int f2(int signum)
  { 
   signal(SIGUSR2, f2);
   write(fd, &c2, 1);
   printf ("child 2 write to file, pid = %d", getpid());
  }
 int f3(int signum)
  {
   signal(SIGUSR3, f3);
   write(fd, &c3, 1);
   printf ("child 3 write to file, pid = %d", getpid();
   kill(pid1, SIGALRM);
  } 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2012, 15:55
Ответы с готовыми решениями:

Процессы и сигналы на Ubuntu
создать два процесса и сделать так что бы 1 посылал второму сигнал usr1 а второй первому usr2 и так до бесконечности

Процессы и сигналы (выдает ошибки)
Здравствуйте уважаемые программисты, необходимо было написать программу: Процесс 1 открывает файл и после этого порождает потомка 2,...

ПРОЦЕССЫ И СИГНАЛЫ ОС UNIX
Здравствуйте,очень нужна Ваша помощь в создании программы на C++. Владея, исключительно, только теоритическими навыками в данной области,...

1
0 / 0 / 0
Регистрация: 24.10.2012
Сообщений: 33
24.12.2012, 23:22  [ТС]
Можно закрывать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2012, 23:22
Помогаю со студенческими работами здесь

И снова процессы и сигналы
доброго дня всем, снова набивший всем оскомину вопрос о процессах и сигналах. есть такой код #include &lt;sys/wait.h&gt; #include...

Что значат эти сигналы (vmware w, bios сигналы)?
Создаю машину с Kali, при запуске если стоит bios 1 длинный сигнал , если uefi 1 длинный и 1 короткий сигнал, XP ставится нормально, в чем...

Замирает компьютер, все процессы замораживаются, но курсор передвигается и некоторое время можно переключатся на другие процессы
Добрый Вечер. Суть проблемы, собрал компьютер на базе: CPU: AMD FX-8320 Mать: AsRock 990FX Extreme3 Видео: AMD RADEON HD6950 ...

Процессы с адм. правами и незакрываемые процессы
Доброго времени суток. Появилась необходимость создать незакрываемый процесс. Такое вообще возможно? Если нет, то возможно ли осуществлять...

Сигналы
Изучаю сигналы и слоты на КУте. Заголовочник: class MySettings : public QDialog { Q_OBJECT public: explicit...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru