Задания к лабораторной работе по теме «Взаимодействие процессов» курса «Операционные системы». Разработайте на языке «С» программу создающую заданное в параметрах
количество процессов, посылки сигнала SIGALRM всем процессам
порожденным задачей и получения от каждого из них отклика SIGINT. Если за
10 секунд ожидания ответные сигналы не получены, то программа посылает
SIGKILL всем своим потомкам, дожидается их завершения и при
благополучном исходе формирует нулевой код возврата. Если хоть один
процесс-потомок завершился с кодом возврата отличным от нуля, то должен
быть сформирован код возврата с максимальным значением полученным от
процессов-потомков. Положим, что существует программа alpha_gamma, которая на каждый из
полученных сигналов выводит на стандартный вывод десятичную цифру,
определяемую по номеру сигнала следующим образом: Напишите головную программу, которая бы вызывала программу alpha_gamma как самостоятельный процесс и с ее помощью распечатывала бы номер вашей зачетной книжки. По окончании печати alpha_gamma должна быть корректно завершена по сигналу SIGINT. Прототип программы alpha gamma
|