Сигнал «стоп» с клавиатуры. Этот сигнал посылается терминалом после нажатия комбинации 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 команды 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