Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
01.05.2014
Размер:
49.66 Кб
Скачать

Санкт-Петербургский Государственный

Электротехнический Университет

Кафедра МОЭВМ

Дисциплина: Системы реального времени

Отчет по лабораторной работе № 1

«Сигналы»

Выполнил: Судаков И.А., 3351

Преподаватель: Селеджи Г.Ц.

Санкт-Петербург

2007

1. Формулировка задания

Написать программу, которая:

1.Печатает "Hello" при получении сигнала SIGALARM.

2.Печатает имя автора при получении сигнала SIGUSR1

3.Запускает процесс при получении сигнала SIGUSR2

4.Прощается и завершается при получении сигнала 29

2. Выполнение задания

2.1. Текст программы

#include <signal.h>

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

int i=1;

void sigAlrmHandler()

{

printf("Hello\n");

}

void sigUsr1Handler()

{

printf("Ivan Sudakov\n");

}

void sigUsr2Handler()

{

pid_t pid;

pid=fork();

if (pid==-1) printf("fork error\n");

else if (pid==0) printf("Child process created\n ");

}

void sig29Handler()

{

printf("Goodbye\n");

i=0;

}

int main( int argc, char** argv)

{

signal(SIGALRM,sigAlrmHandler);

signal(SIGUSR1,sigUsr1Handler);

signal(SIGUSR2,sigUsr2Handler);

signal(29,sig29Handler);

while(i);

return 0;

}

2.2 Протокол работы в системе

knoppix@1[knoppix]$ killall -s ALRM a.out

knoppix@1[knoppix]$ killall -s USR1 a.out

knoppix@1[knoppix]$ killall -s USR2 a.out

knoppix@1[knoppix]$ killall -s 29 a.out

knoppix@1[knoppix]$

knoppix@0[knoppix]$ a.out

Hello

Ivan Sudakov

Child process created

Goodbye

Goodbye

knoppix@0[knoppix]$

3

Соседние файлы в папке lab1