Архитектура современных операционных систем

47 сначала SIGTERM, ждет некоторое время, чтобы процесс завершился, а если процесс сигнал проигнорировал, то направляет ему SIGKILL. Для определения обработчиков сигнала может использоваться команда: trap “cmd1, cmd2…..” <signal> здесь: cmd1, cmd2….. – команды, которые будут выполняться при по- ступлении сигнала signal. Команда trap “” <signal> отменяет обработку указанного сигнала, т.е. сигнал будет игнорировать- ся. Команда trap “-” <signal> восстанавливает обработку указанного сигнала стандартным обработчи- ком. Для отправки сигнала процессу используется команда kill {<signal>/15} PID Семафоры Семафоры в Unix используются в основном для синхронизации выполне- ния взаимодействующих процессов и разделения доступа к последовательно используемым ресурсам. Семафор есть системный объект, над которым можно выполнить две операции: увеличить значение счетчика семафора на 1 (V) и уменьшить на 1 (P). Как только значение счетчика семафора стало равно 0, процессы, пытающиеся выполнить операцию над семафором, блокируются (пе- реводятся в состояние SSLEEP). Для работы с семафорами существуют 3 си- стемные функции: 1. semget – создать новый или получить доступ к существующему се- мафору. В случае создания нового семафора ему может быть присвоено имя (ключ поиска), а так же начальное значение счетчика, связанного с семафором. Возвращает идентификатор созданного или открытого семафора, который ис- пользуется в других функциях.

RkJQdWJsaXNoZXIy MTY0OTYy