Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 36
Текст из файла (страница 36)
Информация озарегистрированных в системе пользователях доступна по команде w.Существует графический аналог программы top — gtop (см. рис. 5.1).Изменение приоритета процесса — команда niceФормат использования:nice [-коэффициент понижения] команда [аргумент]Команда nice выполняет указанную команду с пониженным приоритетом, коэффициент понижения указывается в диапазоне 1..19 (по умолчаниюон равен 10). Суперпользователь может повышать приоритет команды, дляэтого нужно указать отрицательный коэффициент, например —10. Еслиуказать коэффициент больше 19, то он будет рассматриваться как 19.Оша; Справка:PIS j toMHMHB j Bp.
1 Ра-яер Роэяянгиил Cooo-.j ЖЙlilt root02(402(40 S94 root010401040 elOOt root12 1040110400 S490 root024002400 в1 root04(04(0 S1191 root2919(919t S7(9( 61147 root17(9(120( rootК49044904 R1204 root2(«12(912 S07( xf*021(291(2 в1009 IP049(249(2 S9 root200 SI1100 root109(409(4 S11(7 root011(010(0 S90( root09(129(12 S1121 root0(C40((40 S114( root2(704(704 S1002 root0420420 S709 root0233(233( Sj 1009 root0(700(700 S9,9(S11: «а», арШПИ» art*d12.93* /*bia/T*loaitorB10.01* ttto/Xll/X7.37» onpvd(.33* iait9.34* kdeiait: kicker :2 . 20* kdeiait : koa*ole2 . 13* «top!.»(» k*aap»botl.St* xf»l.(0* я*1.37* kvpdate1.34* kdeiait: kdexkto0 .
B(* ^u*r/bia/no0.03* kdx0 . T(* kdeiait : kxkb :.1 0.73* kdeiait: kria. 3 0.72* parallel : /der^lp.7 0 . (3* httpd.1 1. (!«-:!': '..;.:'l;fl(pload«4~r:Рис. 5.1. Программа gtop143ПроцессыКоманда nohup — игнорирование сигналов прерыванияФормат использования:nohup команда [аргумент]Команда nohup выполняет запуск команды в режиме игнорированиясигналов. Не игнорируются только сигналы SIGHUP и SIGQUIT.Команда kill — принудительное завершение процессаФормат использования:kill [-номер сигнала] PIDгде PIDидентификатор процесса, который можно узнать с помощьюкоманды ps.Команда kill служит для принудительного завершения процесса.
Приэтом процессу с указанным идентификатором (PID) посылается сигналзавершения. В качестве параметра можно указать номер сигнала, которыйследует отсылать. По умолчанию отсылается сигнал SIGTERM.Команды выполнения процессов в фоновом режиме — yobs, fg, bgКоманда jobs выводит список процессов, которые выполняются в фоновом режиме, fg — переводит процесс в нормальные режим («на переднийплан» — foreground), a bg — в фоновый.
Запустить программу в фоновомрежиме можно с помощью конструкции <команда> &5.4. Создание расписанийМеханизм расписаний Linux (UNIX) предоставляет удобные и мощные средства для обслуживания системы. Например, можно создать расписание резервирования данных в нерабочее время или обновления системы через Интернет.Для запуска команд по расписанию используется демон сгоп. Он запускается автоматически из файла / e t c / i n i t . d при многопользовательскомуровне запуска. Об уровнях запуска поговорим немного позже.
Каждуюминуту сгоп пробуждается и проверяет содержимое файлов crontab. Длякакой-то определенности назовем эти файлы файлами расписаний.Демон сгоп имеет свою буферную область (каталог /var/spool/cron/), вкоторой находятся файлы crontab — файлы расписаний. Имена файлов расписаний соответствуют именам пользователей из файла /etc/passwd. Если сгопнайдет файлы расписаний, он загрузит их в память.
К этим файлам не должнобыть прямого доступа, редактировать их можно с помощью программы crontab.Когда демон сгоп выполняет команду, он посылает по почте сообщениевладельцу файла crontab или пользователю, указанному в переменнойMAILTO файла crontab.Программа crontabПрограмма crontab используется для редактирования файлов расписанийотдельных пользователей. Программа позволяет устанавливать, удалять, редактировать и просматривать файлы расписаний. Например, для установкифайла расписаний используется команда:crontab -u user f i l e . c r o n144ПроцессыЕсли не использовать опцию -и, то будет установлен файл расписаниядля пользователя, запустившего программу.Каждый пользователь может иметь файл расписания. Для того, чтобыиспользовать эту возможность, пользователь должен быть прописан в файле/var/spool/cron.
allow, если такой существует. Программу crontab можнозапускать с опциями, приведенными в табл. 5.3.Примечание.Последние версии демона crond используют файл /etc/cron.allow вместо файла/var/spool/cron. allow и файл/etc/cron. deny вместо файла/var/spool/cron.
deny. В файле/etc/cron.allow содержится список разрешенных пользователей, в файле/etc/cron. deny — запрещенных.Опции программы crontabОпияТаблица 5.3Описание-1Выводит текущий файл расписания-гУдаляет файл расписания-евызывает редактор, указанный в переменной окружения SEDITOR, для редактирования файларасписанияКаждая строка файла расписания имеет такой формат:время_выполнения действиеВремя выполнения состоит из пяти полей. В первом поле задаютсяминуты (0...59), во втором — часы (0...23), в третьем — день месяца (1...31),в четвертом - - номер месяца (1...12), а в пятом день недели (0...6, Осоответствует воскресенью).
В любом из этих полей можно поставить звездочку, которая обозначает все возможные значения. Например, следующаязапись означает, что архивирование каталога /etc будет производитьсякаждый день, кроме воскресенья, в семь часов утра:О 7 * * 1-6 tar c f z /backup /etcВ системе используется системный файл расписанияэто/etc/crontab (см.
листинг 5.1).Листинг 5.1. Файл/etc/crontab# Интерпретатор командSHELL=/bin/bash# Путь для поиска командPATH=/sbin:/bin:/usr/sbin:/usr/bin# Отчет о выполнении расписания будет отправлен# пользователю rootMAILTO=root# Домашний каталогНОМЕ=/# run-partsQl * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly745ПроцессыДиректива run-part означает, что будут выполнены все выполняемыефайлы из указанного каталога.Демон aidЕще одним способом планирования задач является использование демона atd. Этот демон используется для отложенного выполнения заданий. Дляпостановки заданий в очередь используются команды at и batch. Чтобыдобавить задание в очередь используйте команду:at время датаПосле этого введите все команды, которые хотите выполнить.
Для окончания ввода нажмите Ctrl+D. Более подробно о формате задания времени идаты вы можете прочитать в справочной системе. Например, для выполнения команд в 13:00 введите команду:at 1pmДля просмотра очереди заданий, введите команду atq. В результате будутвыведены задания для пользователя, запустившего команду. При запускепрограммы суперпользователем будет выведен список заданий для всехпользователей. Удалить задание вы можете командой atrm.5.5. Уровни выполнения. Программа initОС Linux имеет шесть уровней выполнения, а также три уровня выполнения по требованию.Программа init переключает систему в нужный режим работы (на нужныйуровень выполнения), и ее имеет право использовать только пользовательroot.
Для переключения на уровень п достаточно ввести команду:# init nИногда, при небольшом изменении файла /etc/inittab, нужно зановоперечитать таблицу инициализации (inittab). Для этого воспользуйтесь командой:init qПомните, что вы в любой момент можете изменить файл /etc/inittabи перечитать его заново командой init q.Для перехода на первый уровень выполнения можно также использоватьпараметр s программы init:init sОписание уровней приведено в табл. 5.4.Уровни выполненияУровень01146Таблица 5.4ОписаниеОстанов системыАдминистративный (однопользовательский) режим.
Обычно используется пользователем rootдля восстановления системы после сбоя2Многопользовательский режим, но без использования сети3Многопользовательский режим, допускается работа в сети4Не используется5Многопользовательский режим. Поддержка сети. Автоматический запуск системы X Window6Перезагрузка системыПроцессыФайл / e t c / i n i t t a b описывает, какие процессы должны запускаться вовремя загрузки и на протяжении нормальной работы системы.
Программаinit переключает уровни выполнения системы. Корректными номерами уровней системы являются 0...6, а также А, В и С.Каждая строка файла /etc/inittab должна быть записана в формате:id:уровни_выполнения:действие:процессПоле «Id» (идентификатор)уникальная последовательность из четырехсимволов (в старых дистрибутивах длина имени идентификатора ограничена двумя символами).Поле «уровни_выполнения»перечень уровней выполнения, для которыхбудет выполнено указанное действие.Поле «действие»задает действие, которое будет выполнено.Поле «процесс»определяет процесс, который будет выполнен.В качестве значений поля «уровни_выполнения» могут быть указаныномера уровней выполнения без каких-либо разделителей.
Например, значение данного поля 1235 означает, что указанное действие будет применено куровням 1, 2, 3 и 5. В качестве дополнительных уровней, которые называютсяуровнями по требованию (ondemand), могут быть указаны уровни А, В и С.В качестве действия может быть указано одно из действий, описанных втабл. 5.5Действия над процессами, задаваемые в файле /etc/inittabТаблица 5.5ДействиеОписаниеПроцесс будет запущен на одном из указанных уровней выполнения, и программа init будетждать его завершенияwaitrespawnПроцесс будет перезапущен после его завершенияonceПроцесс будет запущен всего один раз на одном из указанных уровней выполненияbootПроцесс будет запущен во время загрузки системы. Поле «уровни_выполнения» будетпроигнорированоbootwaitТо же, что и boot, но программа init будет ждать завершения процессаoffНе выполняет никаких действийondemandПроцесс будет запущен в режиме по требованию, то есть он будет выполнен, когда будетвызван один из уровней по требованию (А, В, С)initdefaultОпределяет уровень выполнения по умолчанию.