Главная » Просмотр файлов » Колисниченко Д.Н. - Linux-сервер своими руками

Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 35

Файл №1077324 Колисниченко Д.Н. - Linux-сервер своими руками (Колисниченко Д.Н. - Linux-сервер своими руками) 35 страницаКолисниченко Д.Н. - Linux-сервер своими руками (1077324) страница 352018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 35)

Родительский процесс может дожидаться окончания выполнения всех своих процессов-потомков с помощью системного вызова wait. Влюбой момент времени процесс может изменить содержимое своего образапамяти, используя одну из разновидностей вызова ехес(). Каждый процессреагирует на сигналы и, естественно, может установить собственную реакцию на сигналы, производимые операционной системой. Приоритет процесса может быть изменен с помощью системного вызова nice.Сигнал — это способ информирования процесса ядром о происшествиикакого-то события.

Если возникает несколько однотипных событий, процессу будет подан только один сигнал. Сигнал означает, что произошло событие, но ядро не сообщает, сколько таких событий произошло.Примеры сигналов:1. Окончание порожденного процесса (например, из-за системного вызова exit(см. ниже)).2. Возникновение исключительной ситуации.3. Сигналы, поступающие от пользователя, при нажатии определенных клавиш.Установить реакцию на поступление сигнала можно с помощью системного вызова signal:f u n c = signal (snum, f u n c t i o n ) ;где: snumномер сигнала;functionадрес функции, которая должна быть выполнена при поступлении указанного сигнала.Возвращаемое значение — адрес функции, которая будет реагировать напоступление сигнала.

Вместо function можно указать ноль или единицу. Еслибыл указан ноль, то при поступлении сигнала snum выполнение процессабудет прервано аналогично вызову exit. Если указать единицу, данный сигнал будет проигнорирован, но это возможно не для всех процессов.С помощью системного вызова kill можно сгенерировать сигналы ипередать их другим процессам. Обычно kill используется для того, чтобыпринудительно завершить («убить») процесс:kill(pid, snum);где: pidидентификатор процесса;snumномер сигнала, который будет передан процессу (см. табл.

5.1).Pid состоит из идентификатора группы процессов и идентификатора процесса в группе. Если вместо pid указать нуль, то сигнал snum будет направлен всемпроцессам, относящимся к данной группе (понятие группы процессов аналогично группе пользователей). В одну группу включаются процессы, имеющие общего предка. Идентификатор группы процесса можно изменить с помощью системного вызова setpgrp.

Если вместо pid указать -1, то ядро передаст сигнал всемпроцессам, идентификатор пользователя которых равен идентификатору текущего выполнения процесса, посылающего сигнал. Номера сигналов приведены втабл. 5Л. Сигналы (точнее, их номера) описаны в файле singnal.h.139ПроцессыТаблица 5.1Номера сигналовНомерНазваниеОписание01SIGHUPОсвобождение линии (hangup)02SIGINTПрерывание (interrupt)03SIGQUITВыход (quit)04SIGILL •Некорректная команда (illegal instruction). He переустанавливается при перехвате05SIGTRAPТрассировочное прерывание (trace trap).

He переустанавливается при перехвате06SIGIOT илиSIGABRTМашинная команда ЮТ. Останов ввода/вывода07SIGBUSОшибка на шине08SIGFPEИсключительная ситуация при выполнении операции с вещественными числами(floating-point exception)09SIGKILLУничтожение процесса (kill). He перехватывается и не игнорируется10Определяемый пользователем сигнал 111SIGUSR1SIGSEGV12SIGUSR2Определяемый пользователем сигнал 213SIGPIPEЗапись в канал, из которого некому читать.

Обрыв потока14SIGALRMБудильник15SIGTERMПрограммный сигнал завершения16SIGSTKFLTСбой стека17SIGCHLDИзменение статуса дочернего процесса(или SIGCLD)Некорректное обращение к сегменту памяти (segmentation violation)18SIGCONTПродолжение работы после сигнала STOP.

He перехватывается и не игнорируется19SIGSTOPСигнал СТОП. Не перехватывается и не игнорируется20SIGTSTPСигнал останова клавиатуры21SIGTTINФоновое чтение из терминала (tty)22SIGTTOUФоновая запись на терминал (tty)23SIGURGКритическое состояние сокета24SIGXCPUПревышенный предел процессорного времени2526SIGXFSZSIGVTALRMСигнал виртуального будильника27SIGPROFСигнал профилирующего будильника28SIGWINCHИзменение размера окна29SIGIOРазрешение ввода/вывода30SIGPWRСбой питания31SIGSYSНекорректный параметр системного вызоваПревышенный предел размера файлаДля нормального завершения процесса используется вызов:exit ( s t a t u s )где status — это целое число, возвращаемое процессу-предку для его информирования о причинах завершения процесса-потомка.Вызов exit может задаваться в любой точке программы, но может быть инеявным, например, при выходе из функции main (при программированиина С) оператор return 0 будет воспринят как системный вызов exit(O).5.2.

Перенаправление ввода/выводаПрактически все операционные системы обладают механизмом перенаправления ввода/вывода, и Linux не является исключением из этого правила.Обычно программы вводят текстовые данные с консоли (терминала) и740Процессывыводят данные на консоль. При вводе под консолью подразумеваетсяклавиатура, а при выводе — экран монитора. Клавиатура и экран монитора — это, соответственно, стандартный ввод и вывод (stdin и stdout). Любойввод/вывод можно интерпретировать как ввод из некоторого файла и выводв файл.

Работа с файлами производится через их дескрипторы. Для организации ввода/вывода в UNIX используются три файла: stdin (дескриптор 0),stdout (дескриптор 1) и stderr (дескриптор 2).Символ > («больше») используется для перенаправления стандартноговывода в файл. Например:$ cat > n e w f i l e . t x tВ этом примере стандартный вывод команды cat будет перенаправлен вфайл n e w f i l e . t x t , который будет создан после выполнения этой команды.Если файл с этим именем уже существует, то он будет перезаписан.

НажатиеCtrl + D остановит перенаправление и прервет выполнение команды cat.Символ < («меньше») используется для переназначения стандартного вводакоманды. Например, при выполнении команды cat < f i l e . t x t в качествестандартного ввода будет использован файл f i l e . t x t , а не клавиатура.Символ » используется для присоединения данных в конец файла(append) стандартного вывода команды. Например, в отличие от случая ссимволом >, выполнение команды cat » newfile.txt не перезапишет файл вслучае его существования, а добавит данные в его конец.Чтобы перенаправить весь стандартный поток ошибок в какой-нибудьфайл, используйте переадресацию 2> имя_файла или 2» имя_файла.

Впервом случае стандартный поток ошибок будет передан в файл или наустройство, а во втором — поток ошибок будет добавлен в файл, если такойсуществует. При использовании переадресации 2>&1 стандартный потокошибок будет перенаправлен на стандартный вывод интерпретатора Bourne(здесь 1 и 2 — дескрипторы файлов). Для перенаправления стандартногопотока ошибок в файл вы можете также использовать переадресацию >&имя_файла (интерпретатор C-Shell).В командных интерпретаторах Когп и C-Shell можно использовать переадресацию >! имя_файла.

При этом файл не будет перезаписан, если онсуществует.Символ | используется для перенаправления стандартного вывода однойпрограммы на стандартный ввод другой. Например, ps -ax | grep httpd.Можно также использовать переадресацию |&. В этом случае стандартный поток ошибок будет передан по каналу другой команде интерпретатора.5.3. Команды управления процессамиКоманда psКоманда ps предназначена для вывода информации о выполняемых втекущий момент процессах. Данная команда имеет много параметров, окоторых вы можете прочитать в руководстве (man ps). Здесь я опишу лишьнаиболее часто используемые мною (см.

табл. 5.2).141ПроцессыПараметры программы psПараметр-а-е-t список_терминалов-и идентификаторы_пользователей-д идентификаторы_групп-XТаблица 5.2ОписаниеОтобразить все процессы, связанные с терминалом(отображаются процессы всех пользователей)Отобразить все процессыОтобразить процессы, связанные с указанными терминаламиОтобразить процессы, связанные с данными идентификаторамиОтобразить процессы, связанные с данными идентификаторами группОтобразить все процессы, не связанные с терминаломНапример, после ввода команды ps -а вы увидите примерно следующее:PID TTY1007 t t y l1036 tty21424 ttyl1447 pts/02 3 0 9 tty2TIME CMD0 0 : 0 0 : 0 0 bash0 0 : 0 0 : 0 0 bash0 0 : 0 0 : 0 2 me0 0 : 0 0 : 0 2 mpg!230 0 : 0 0 : 0 0 psДля вывода информации о конкретном процессе вы можете воспользоваться командой:# ps -ax | grep httpdS 0:01 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A698 71261 7 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1262 7 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1263 9 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1264 9 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1268 7 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AS 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1269 •>7S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A12701271 9 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1272 7 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1273 7 S 0:00 httpd -DHAVE_PHP4 -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_A1280 9 S 0:00 httpd -DHAVE_PHP4 -DHAVEJPROXY -DHAVE ACCESS -DHAVE AВ приведенном выше примере используется перенаправлениеввода/вывода между программами ps и grep, в результате чего будет отображена информация обо всех процессах, содержащих в строке запуска «httpd».Данную команду (ps -ax | grep httpd) я написал только лишь в демонстрационных целях -- гораздо проще использовать параметр -С программы psвместо перенаправления ввода/вывода и параметр -е вместо -ах.Команда topЭта команда предназначена для вывода информации о процессах вреальном времени.

Процессы сортируются по максимальному занимаемомупроцессорному времени, но вы можете изменить порядок сортировки (см.man top). Команда также сообщает о свободных системных ресурсах.142Процессы# top7:49pm up 5 min, 2 users, load average: 0.03, 0.20, 0.1156 processes: 55 sleeping, 1 running, 0 zombie, 0 stoppedCPU states: 7.6% user, 9.8% system, 0.0% nice, 82.5% idleMem 130660K av, 94652K used, 36008K free, OK shrd, 5220K buffSwap:72256K av, OK used,72256K free60704K cachedPID USER PRI N1 SIZE RSS SHARE STAT %CPU %MEM TIME COMMANDз7 root 14R0 892 892 6802 .80.6 0:00 top1 root 00 468 468 404S0 .00.3 0:06 init2 root 00 00SW00 .00.0 0:00kflushd'3 root 00 000sw0 ,00;00:00kupdate4 root 00 000sw0 .00.0 0:00kswapdПросмотреть информацию об оперативной памяти вы можете с помощью команды free, а о дисковой — с помощью команды df.

Характеристики

Тип файла
PDF-файл
Размер
52,29 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6280
Авторов
на СтудИзбе
315
Средний доход
с одного платного файла
Обучение Подробнее