Денис Колисниченко - Linux-сервер своими руками Страница 40
Денис Колисниченко - Linux-сервер своими руками читать онлайн бесплатно
Символ | используется для перенаправления стандартного вывода одной программы на стандартный ввод другой. Например,
ps –ax | grep httpd.
Можно также использовать переадресацию |&. В этом случае стандартный поток ошибок будет передан по каналу другой команде интерпретатора.
5.3. Команды управления процессами
Команда psКоманда ps предназначена для вывода информации о выполняемых в текущий момент процессах. Данная команда имеет много параметров, о которых вы можете прочитать в руководстве (man ps). Здесь я опишу лишь наиболее часто используемые мною (см. табл. 5.2).
Параметры программы ps Таблица 5.2
Параметр Описание -а Отобразить все процессы, связанные с терминалом (отображаются процессы всех пользователей) -е Отобразить все процессы -t список_терминалов Отобразить процессы, связанные с указанными терминалами -u идентификаторы_пользователей Отобразить процессы, связанные с данными идентификаторами -g идентификаторы_групп Отобразить процессы, связанные с данными идентификаторами групп -x Отобразить все процессы, не связанные с терминаломНапример, после ввода команды ps –а вы увидите примерно следующее:
PID TTY TIME CMD
1007 tty1 00:00:00 bash
1036 tty2 00:00:00 bash
1424 tty1 00:00:02 me
1447 pts/0 00:00:02 mpg123
2309 tty2 00:00:00 ps
Для вывода информации о конкретном процессе вы можете воспользоваться командой:
# ps –ax | grep httpd
698 7 S 0:01 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1261 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1262 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1263 9 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1264 9 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1268 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1269 ? S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1270 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1271 9 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1272 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1273 7 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
1280 9 S 0:00 httpd –DHAVE_PHP4 –DHAVE_PROXY –DHAVE_ACCESS –DHAVE_A
В приведенном выше примере используется перенаправление ввода/вывода между программами ps и grep, в результате чего будет отображена информация обо всех процессах, содержащих в строке запуска «httpd». Данную команду (ps –ax | grep httpd) я написал только лишь в демонстрационных целях — гораздо проще использовать параметр –С программы ps вместо перенаправления ввода/вывода и параметр –е вместо –ах.
Команда topЭта команда предназначена для вывода информации о процессах в реальном времени. Процессы сортируются по максимальному занимаемому процессорному времени, но вы можете изменить порядок сортировки (см. man top). Команда также сообщает о свободных системных ресурсах.
# top
7:49pm up 5 min, 2 users, load average: 0.03, 0.20, 0.11
56 processes: 55 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 7.6% user, 9.8% system, 0.0% nice, 82.5% idle
Mem 130660K av, 94652K used, 36008K free, OK shrd, 5220K buff
Swap:72256K av, 0K used, 72256K free 60704K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1067 root 14 0 892 892 680 R 2.8 0.6 0:00 top
1 root 0 0 468 468 404 S 0.0 0.3 0:06 init
2 root 0 0 0 0 0 SW 0.0 0.0 0:00 kflushd
3 root 0 0 0 0 0 SW 0.0 0.0 0:00 kupdate
4 root 0 0 0 0 0 SW 0.0 0.0 0:00 kswapd
Просмотреть информацию об оперативной памяти вы можете с помощью команды free, а о дисковой — с помощью команды df. Информация о зарегистрированных в системе пользователях доступна по команде w.
Существует графический аналог программы top — gtop (см. рис. 5.1).
Изменение приоритета процесса — команда niceФормат использования:
nice [-коэффициент понижения] команда [аргумент]
Рис. 5.1. Программа gtop
Команда nice выполняет указанную команду с пониженным приоритетом, коэффициент понижения указывается в диапазоне 1..19 (по умолчанию он равен 10). Суперпользователь может повышать приоритет команды, для этого нужно указать отрицательный коэффициент, например —10. Если указать коэффициент больше 19, то он будет рассматриваться как 19.
Команда nohup — игнорирование сигналов прерыванияФормат использования:
nohup команда [аргумент]
Команда nohup выполняет запуск команды в режиме игнорирования сигналов. Не игнорируются только сигналы SIGHUP и SIGQUIT.
Команда kill — принудительное завершение процессаФормат использования:
kill [-номер сигнала] PID
где PID — идентификатор процесса, который можно узнать с помощью команды ps.
Команда kill служит для принудительного завершения процесса. При этом процессу с указанным идентификатором (PID) посылается сигнал завершения. В качестве параметра можно указать номер сигнала, который следует отсылать. По умолчанию отсылается сигнал SIGTERM.
Команды выполнения процессов в фоновом режиме — jobs, fg, bgКоманда jobs выводит список процессов, которые выполняются в фоновом режиме, fg — переводит процесс в нормальный режим («на передний план» — foreground), a bg — в фоновый. Запустить программу в фоновом режиме можно с помощью конструкции
<команда> &
5.4. Создание расписаний
Механизм расписаний Linux (UNIX) предоставляет удобные и мощные средства для обслуживания системы. Например, можно создать расписание резервирования данных в нерабочее время или обновления системы через Интернет.
Для запуска команд по расписанию используется демон cron. Он запускается автоматически из файла /etc/init.d при многопользовательском уровне запуска. Об уровнях запуска поговорим немного позже. Каждую минуту cron пробуждается и проверяет содержимое файлов crontab. Для какой-то определенности назовем эти файлы файлами расписаний.
Демон cron имеет свою буферную область (каталог /var/spool/cron/), в которой находятся файлы crontab — файлы расписаний. Имена файлов расписаний соответствуют именам пользователей из файла /etc/passwd. Если cron найдет файлы расписаний, он загрузит их в память. К этим файлам не должно быть прямого доступа, редактировать их можно с помощью программы crontab.
Когда демон cron выполняет команду, он посылает по почте сообщение владельцу файла crontab или пользователю, указанному в переменной MAILTO файла crontab.
Программа crontabПрограмма crontab используется для редактирования файлов расписаний отдельных пользователей. Программа позволяет устанавливать, удалять, редактировать и просматривать файлы расписаний. Например, для установки файла расписаний используется команда:
crontab –u user file.cron
Если не использовать опцию –u, то будет установлен файл расписания для пользователя, запустившего программу.
Каждый пользователь может иметь файл расписания. Для того, чтобы использовать эту возможность, пользователь должен быть прописан в файле /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
Опция Описание -l Выводит текущий файл расписания -r Удаляет файл расписания -е Вызывает редактор, указанный в переменной окружения $EDITOR для редактирования файла расписанияКаждая строка файла расписания имеет такой формат:
время_выполнения действие
Время выполнения состоит из пяти полей. В первом поле задаются минуты (0…59), во втором — часы (0…23), в третьем — день месяца (1…31), в четвертом — номер месяца (1…12), а в пятом день недели (0…6, 0 соответствует воскресенью). В любом из этих полей можно поставить звездочку, которая обозначает все возможные значения. Например, следующая запись означает, что архивирование каталога /etc будет производиться каждый день, кроме воскресенья, в семь часов утра:
Жалоба
Напишите нам, и мы в срочном порядке примем меры.