Главная » Просмотр файлов » А.П. Строляров, И.Г. Головин, И.А. Волкова - Операционная система Unix

А.П. Строляров, И.Г. Головин, И.А. Волкова - Операционная система Unix (1114677), страница 4

Файл №1114677 А.П. Строляров, И.Г. Головин, И.А. Волкова - Операционная система Unix (А.П. Строляров, И.Г. Головин, И.А. Волкова - Операционная система Unix) 4 страницаА.П. Строляров, И.Г. Головин, И.А. Волкова - Операционная система Unix (1114677) страница 42019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Поэтому, чтобы просмотреть постранично сообщения, выдаваемые в ходе компиляции, следуетдать, например, такую команду:gcc -Wall -g myprog.c -o myprog 2>&1 | less2.6ПроцессыСписок процессов, выполняющихся в настоящий момент, можно получить командой ps:$ psPID TTY2199 pts/52241 pts/5TIME CMD00:00:00 bash00:00:00 psКак видно, команда по умолчанию выдаёт только список процессов,запущенных в данном конкретном сеансе работы.К сожалению, опции команды ps очень сильно отличаются в зависимости от версии (в частности, для FreeBSD и Linux).

За подробнойинформацией следует обращаться к документации по данной конкретной ОС; здесь мы ограничимся замечанием, что команда ps ax выдастсписок всех существующих процессов, а команда ps axu дополнительновыдаст информацию о владельцах процессов5 .В некоторых случаях может оказаться полезной программа top, работающая интерактивно. Она выдаёт на экран список наиболее активных процессов, обновляя его один раз в секунду.

Чтобы выйти из программы top, необходимо ввести букву q.Снять процесс можно с помощью сигнала. Обычно применяют сначала сигнал SIGTERM (15), а если после этого процесс не завершился –сигнал SIGKILL (9). Сигнал SIGTERM может быть перехвачен программой, например, с целью корректного завершения; сигнал SIGKILL уничтожает процесс безусловным образом, не оставляя возможности произведения каких-либо действий по подготовке к корректному завершению.5 Это верно для ОС Linux и FreeBSD.

В других ОС, например в SunOS/Solaris,опции команды ps имеют совершенно иной смысл19Для передачи сигнала процессу используется команда kill. Поумолчанию передаётся сигнал SIGTERM, т.е., например, командаkill 2763 приведёт к тому, что процесс 2763 получит сигнал SIGTERM.Задать другой сигнал можно либо по номеру, либо по названию (TERM,KILL и т.п.). Следующие две команды эквивалентны; обе передают процессу 2763 сигнал SIGKILL:kill -9 2763kill -KILL 27632.7Выполнение в фоновом режимеНекоторые программы выполняются ощутимое время, при этом нетребуя взаимодействия с пользователем через стандартные потоки ввода/вывода.

Во время выполнения таких программ удобно иметь возможность продолжать давать команды командному интерпретатору,чтобы не тратить время.Допустим, нам потребовался список всех файлов в файловой системе. Такой список можно получить с помощью команды ls -lR /.Естественно было бы перенаправить её вывод в файл, чтобы позднееиметь возможность его анализа.

Заметим, что такая команда будет выполняться несколько минут и ждать её окончания нам бы не хотелось,поскольку эти несколько минут мы могли бы, например, использоватьдля набора текста в редакторе. Чтобы запустить команду в фоновомрежиме, к ней следует в конце приписать символ &, например:$ ls -lR / >list.txt 2>/dev/null &[1] 2437Здесь мы перенаправили поток вывода сообщений об ошибках в устройство /dev/null6 , чтобы сообщения о невозможности чтения некоторыхкаталогов не мешали нашей дальнейшей работе.В ответ на нашу команду система сообщает, что задание запущенов фоновом режиме в качестве фоновой задачи №1, причем номер запущенного процесса – 2437. Текущий список выполняемых фоновых задачможно узнать командой jobs:$ jobs[1]+ Runningls -lR / >list.txt 2>/dev/null &6 Устройство /dev/null предназначено для поглощения потоков данных, которыенам не нужны; в него можно записывать что угодно, данные при этом попростуисчезают20По окончании выполнения задачи командный интерпретатор нам обэтом сообщит.

В случае успешного завершения сообщение будет выглядеть так:[1]+Donels -lR / >list.txt 2>/dev/null &В случае, если программа завершилась с кодом, отличным от нуля, сообщение будет иметь другой вид:[1]+Exit 1ls -lR / >list.txt 2>/dev/null &Наконец, если фоновый процесс снять сигналом, сообщение будет примерно таким (для сигнала SIGTERM):[1]+Terminatedls -lR / >list.txt 2>/dev/null &При отправлении сигналов процессам, являющимся фоновыми задачами данного конкретного экземпляра командного интерпретатора,можно ссылаться на номера процессов по номерам фоновых задач,добавляя к номеру символ %.

Так, команда kill %2 отправит сигналSIGTERM второй фоновой задаче. Символ % без указания номера обозначает последнюю из фоновых задач.Если задача уже запущена не в фоновом режиме и нам не хочется ждать её завершения, мы можем сделать обычную задачу фоновой.Для этого следует нажать Ctrl-Z, в результате чего выполнение текущей задачи будет приостановлено. Затем с помощью команды bg7 приостановленную задачу можно снова поставить на выполнение, но уже вфоновом режиме.Также возможно сделать текущей (т.е. такой, окончания которойожидает командный интерпретатор) любую из фоновых и приостановленных задач. Это делается с помощью команды fg8 .2.8Электронная документацияДистрибутивы ОС Unix обычно содержат большое количество документации, доступ к которой можно получить непосредственно в процессе работы. Большая часть такой документации оформлена в видефайлов, отображаемых с помощью традиционной команды man, либо спомощью более современной программы info.7 От8 Отанглийского background – фонанглийского foreground212.8.1Команда manКоманда man служит для поиска и отображения установленной всистеме справочной информации.

Справочник охватывает команды ОСUnix, системные вызовы, библиотечные функции языка C (и другихустановленных в системе языков), форматы файлов, некоторые общиепонятия и т.д.К примеру, если вы хотите узнать все опции команды ls, следуетдать команду$ man lsа если вы, допустим, забыли, в каком порядке идут аргументы системного вызова waitpid(), вам поможет$ man waitpidПрограмма man найдет соответствующий документ в системном справочнике и запустит программу его отображения. Появившийся наэкране документ можно листать с помощью клавиш «стрелка вверх»и «стрелка вниз», можно использовать клавишу «пробел», чтобы пропустить сразу страницу текста.

Выход из просмотра справочного документа осуществляется клавишей q (от слова quit).Если нужный вам справочный документ имеет большой объем, а вамнеобходимо найти в нем определенное место, может оказаться удобнымпоиск подстроки. Это делается вводом символа /, после которого следует набрать строку для поиска и нажать Enter. Повторный поиск той жестроки осуществляется вводом / и нажатием Enter (то есть саму строку можно опустить). Чтобы выполнить поиск в обратном направлении,можно воспользоваться символом ? вместо /.В некоторых случаях системный справочник может содержать болееодного документа с данным именем.

Так, в системе существует командаwrite и системный вызов write. Команда write вам вряд ли понадобится, так что, если вы набрали man write, скорее всего, вы имели ввиду системный вызов; к сожалению, система этого не знает и выдаствам совсем не тот документ, который вам нужен.Эту проблему можно решить указанием номера секции системногосправочника. Так, в нашем примере команда$ man 2 writeвыдаст именно документ, посвященный системному вызову write, поскольку секция №2 содержит справочные документы по системным вызовам. Перечислим другие секции системного справочника:22• 1 – пользовательские команды ОС Unix (такие команды, как ls,rm, mv и т.п. описываются в этой секции)• 2 – системные вызовы ядра ОС Unix• 3 – библиотечные функции языка C (к этой секции можно обратиться, например, за информацией о функции sprintf)• 4 – описания файлов устройств• 5 – описания форматов системных конфигурационных файлов• 6 – игровые программы• 7 – общие понятия (например, man 7 ip выдаст полезную информацию о программированием с использованием TCP/IP)• 8 – команды системного администрирования ОС Unix (например,в этой секции вы найдете описание команды mount, предназначенной для монтирования файловых систем).Система может содержать и другие секции, причем не обязательно обозначающиеся цифрой; так, при установке в системе интерпретатораязыка Tcl его справочные страницы обычно оформляются в отдельнуюсекцию, которая может называться “n”, “3n” и т.п.2.8.2Команда infoЕсли команда man служит для отображения отдельных документов,то команда info позволяет осуществлять просмотр целых наборов страниц, связанных между собой гиперссылками; иначе говоря, документыв формате info представляют собой гипертекст, а сама команда – браузер (просмотрщик) гипертекста, работающий в текстовом режиме.Система info часто содержит более подробную информацию о томже предмете, чем man.

Так, man make выдаст довольно скудную информацию об опциях командной строки команды make, в то время какinfo make позволит основательно изучить работу с программой make(см. §4.3), научиться составлять ее входные файлы и т.д.При работе с программой info можно пролистывать текст клавишами стрелок и пробелом.

Клавиши n и p позволяют перейти, соответственно, к следующей и предыдущей странице гипертекста. Гиперссылки в тексте заключены между знаком * и ::, например:* Reading Makefiles::How makefiles are parsedЕсли позиционировать курсор на словах Reading Makefiles и нажатьEnter, произойдет переход по данной гиперссылке. Если необходимо перейти назад, можно воспользоваться клавишей l (от слова last).Выход из программы info производится по клавише q (от слова quit)или нажатием Ctrl-C.232.92.9.1Дополнительные возможностиКомандные файлы в Bourne ShellИнтерпретатор Bourne Shell позволяет осуществлять не только работу в режиме диалога с пользователем, но и выполнение программ,называемых командными файлами (скриптами).

Файл с программой,предназначенной для исполнения интерпретатором Bourne Shell, должен начинаться со строки#!/bin/shПеременные в языке Bourne Shell имеют имена, состоящие из латинских букв, цифр, знака подчеркивания и начинающиеся всегда с буквы. Значением переменной может быть любая строка символов. Чтобыприсвоить переменной значение, необходимо написать оператор присваивания, например:I=10MYFILE=/tmp/the_file_nameMYSTRING="Here are several words"Обратите внимание, что в имени переменной, а также вокруг знака равенства (символа присваивания) не должно быть пробелов, в противномслучае команда будет расценена не как присваивание, а как обычнаякоманда, в которой знак присваивания – один из параметров.Для обращения к переменной используется знак $, например:echo $I $MYFILE $MYSTRINGВ результате выполнения этой команды будет напечатано:10 /tmp/the_file_name Here are several wordsПри необходимости скомпоновать слитный текст из значений переменных можно имена переменных заключать в фигурные скобки, например:echo ${I}abcЭта команда напечатает:10abcДля выполнения арифметических действий используется конструкция $(( )).

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

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

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

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