Сигнал «стоп» с клавиатуры. Этот сигнал посылается терминалом после нажатия комбинации CTRL+Z. В отличие от сигнала STOP, TSTP передается программе, и программа может решить игнорировать его

28

WINCH

Изменение окна. Этот сигнал посылается системой при изменении размеров окна терминала. Некоторые программы, такие как top и less, реагируют на этот сигнал, обновляя свой вывод в соответствии с новыми размерами окна терминала

Любопытные пользователи могут получить полный список сигналов, выполнив следующую команду:

[me@linuxbox ~]$ kill -l

Посылка сигналов нескольким процессам с помощью killall

Кроме того, существует возможность с помощью команды killall послать сигнал сразу нескольким процессам, соответствующим указанной программе или имени пользователя. Она имеет следующий синтаксис:

killall [-u пользователь] [-сигнал] имя...

Для демонстрации запустим пару экземпляров программы xlogo и затем завершим их:

[me@linuxbox ~]$ xlogo &

[1] 18801

[me@linuxbox ~]$ xlogo &

[2] 18802

[me@linuxbox ~]$ killall xlogo

[1]- Terminated xlogo

[2]+ Terminated xlogo

Помните: так же как при использовании команды kill, вы должны обладать привилегиями суперпользователя, чтобы посылать сигналы процессам, которыми не владеете.

Другие команды управления процессами

Так как мониторинг процессов является одной из важнейших задач системного администрирования, существует множество команд, помогающих в этом. В табл. 10.6 перечислены некоторые из них, с ними вы можете поэкспериментировать.

Таблица 10.6. Другие команды управления процессами

Команда

Описание

pstree

Выводит список процессов в виде древовидной структуры, отражающей отношения «родитель—потомок» между процессами

vmstat

Выводит мгновенный снимок с информацией об использовании системных ресурсов, включая память, файл подкачки и объем дискового ввода/вывода. Чтобы увидеть, как изменяется эта информация с течением времени, передайте команде интервал задержки (в секундах) между обновлениями (например, vmstat 5). Завершить работу команды можно нажатием CTRL+C

xload

Программа с графическим интерфейсом, показывающая изменение нагрузки на систему с течением времени

tload

Работает подобно программе xload, но рисует график в терминале. Завершается работа команды нажатием CTRL+C

Часть II. Окружение и настройка

11. Окружение

Как обсуждалось выше, командная оболочка на протяжении всего сеанса работы использует массу информации, которая называется окружением. Данные, хранящиеся в окружении, используются программами для выяснения деталей конфигурации.

Даже при том, что для хранения своих настроек большинство программ использует конфигурационные файлы, некоторые программы также учитывают значения, хранящиеся в окружении. Зная это, можно использовать окружение для настройки некоторых параметров командной оболочки.

В этой главе мы будем работать со следующими командами:

• printenv — выводит часть или все окружение.

• set — устанавливает параметры командной оболочки.

• export — экспортирует окружение для программ, которые будут выполняться позднее.

• alias — создает псевдоним команды.

Что хранится в окружении?

Командная оболочка хранит в окружении данные двух основных типов, хотя bash практически не делает различий между типами. Эти данные хранятся в переменных окружения и в переменных командной оболочки. Переменные командной оболочки — это фрагменты данных, инициализируемые командой bash, а переменные окружения — практически все остальное. Помимо переменных командная оболочка хранит также программируемые данные, а именно псевдонимы и функции командной оболочки. Мы уже познакомились с псевдонимами в главе 5, а о функциях (которые имеют отношение к сценариям командной оболочки) поговорим в части IV книги.

Исследование окружения

Увидеть, что хранится в окружении, можно при помощи встроенной в bash коман­ды set или программы printenv. Команда set выводит переменные обоих видов — командной оболочки и окружения, — тогда как printenv выводит только последние. Так как список содержимого окружения очень велик, его лучше просматривать, передавая вывод любой из команд по конвейеру в less:

[me@linuxbox ~]$ printenv | less

Запустив эту команду, вы должны увидеть нечто похожее:

KDE_MULTIHEAD=false

SSH_AGENT_PID=6666

HOSTNAME=linuxbox

GPG_AGENT_INFO=/tmp/gpg-PdOt7g/S.gpg-agent:6689:1

SHELL=/bin/bash

TERM=xterm

XDG_MENU_PREFIX=kde-

HISTSIZE=1000

XDG_SESSION_COOKIE=6d7b05c65846c3eaf3101b0046bd2b00-1208521990.996705-1177056199

GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/me/.gtkrc-2.0:/home/me/.kde/share/

              config/gtkrc-2.0

GTK_RC_FILES=/etc/gtk/gtkrc:/home/me/.gtkrc:/home/me/.kde/share/config/gtkrc

GS_LIB=/home/me/.fonts

WINDOWID=29360136

QTDIR=/usr/lib/qt-3.3

QTINC=/usr/lib/qt-3.3/include

Перейти на страницу:

Похожие книги