Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КТНИ / mppz2_m2_iems_iems_ktni_niy16

.pdf
Скачиваний:
34
Добавлен:
27.03.2016
Размер:
672.53 Кб
Скачать

являются данные, ограниченные символом разделения. Если поле сортировки не задано, то по умолчанию sort использует символы пробела и табуляции для разделения различных полей в данных файла. Можно в качестве разделителя использовать и другие символы, указав их с использованием специальной опции t. Полный перечень опций приведен в табл. 10.

Параметр

Описание

 

 

-n

Производит числовую сортировку

-r

Меняет порядок сортировки на обратный

-f

Игнорирует регистр символов

-M

Сортирует первые три символа как сокращение имени

 

месяца

-d

Используется словарная сортировка

-o

Вывод результатов в файл. имя_файла

-b

Игнорирует начальные пробелы

-t символ

Использует символ как разделитель полей. Если

 

параметр -t не указан, то по умолчанию в качестве

 

разделителей полей используются символы пробела и

 

табуляции.

 

Табл.10 Опции команды sort

В следующем примере проводится обратная числовая сортировка всех файлов расширенного вывода данных, имена которых начинаются на буквы l и p, в домашней директории пользователя antonk по числу ссылок (по второму полю).

[antonk@lab4236s ~]$ ls -l ~/l* ~/p* | sort -rn -k 2

-rwxr-xr-x 2 antonk antonk 123 Oct 24 2008 /home/antonk/p.pl_link -rwxr-xr-x 2 antonk antonk 123 Oct 24 2008 /home/antonk/p.pl lrwxrwxrwx 1 antonk antonk 7 Sep 30 13:10 /home/antonk/link_rc->/etc/rс lrwxrwxrwx 1 antonk antonk 7 Sep 30 11:09 /home/antonk/link2 -> /etc/re lrwxrwxrwx 1 antonk antonk 7 Sep 30 11:06 /home/antonk/link -> /etc/re

[antonk@lab4236s ~]$

В следующем примере выполним предыдущую команду, но результаты сортировки расширенного вывода поместим в файл spisok. Сортировка произойдет, но на экран терминала результаты сортировки выводиться не будут. Затем файл spisok отсортируем по убыванию даты месяца (седьмое поле). Важно отметить, что при данной сортировке данные в файле не изменяются, меняется только отображение на экране. Чтобы данные сохранить в отсортированном виде, требуется воспользоваться опцией –o с указанием имени файла или перенаправлением стандартного вывода в файл. В нашем примере выберем второй способ, а файл назовем spisok_sort.

[antonk@lab4236s

~]$ ls -l ~/l* ~/p* | sort -rn -k 2 -o spisok

[antonk@lab4236s

~]$ cat spisok

-rwxr-xr-x 2 antonk antonk 123 Oct

24

2008

/home/antonk/p.pl_link

-rwxr-xr-x 2 antonk antonk 123

Oct

24

2008

/home/antonk/p.pl

lrwxrwxrwx 1 antonk antonk 7 Sep

30

13:10

/home/antonk/link_rc -> /etc/rс

lrwxrwxrwx 1 antonk antonk

7

Sep

30

11:09

/home/antonk/link2 -> /etc/rс

lrwxrwxrwx 1 antonk antonk

7 Sep

30

11:06

/home/antonk/link -> /etc/rс

[antonk@lab4236s ~]$ sort -nr -k 7

spisok >

spisok_sort

[antonk@lab4236s ~]$ cat spisok_sort

 

 

 

lrwxrwxrwx 1 antonk antonk 7 Sep 30 13:10

/home/antonk/link_rc -> /etc/rс

lrwxrwxrwx 1 antonk antonk

7 Sep

30

11:09

/home/antonk/link2 -> /etc/rс

lrwxrwxrwx 1 antonk antonk

7 Sep

30

11:06

/home/antonk/link -> /etc/rс

-rwxr-xr-x 2 antonk antonk 123 Oct

24

2008

/home/antonk/p.pl_link

-rwxr-xr-x 2 antonk antonk 123 Oct

24

2008

/home/antonk/p.pl

[antonk@lab4236s ~]$

11. Семейство фильтров grep

Наиболее эффективными и применимыми фильтрами в составе UNIX-систем являются фильтры семейства grep. Grep является сокращением от комбинации английских слов global/regular expression/print , т.е. средство вывода информации с помощью регулярного выражения. Регулярное выражение (regular expression) – символьный шаблон, используемый при поиске для сравнения одинаковых символов.

Команда grер осуществляет поиск в содержимом одного или нескольких файлов на предмет сравнения с регулярным выражением. Если совпадение будет найдено, то grер выведет на экран каждую строчку, содержащую совпадение, изменения самого файла при этом не производится. Формат команды grep следующий: grep –опция(и) шаблон имя_файла(ов). Отдельный набор опций, используемых совместно с grep, приведен в табл.11.

Опция

Назначение

команды grep

 

 

 

-i

Задаёт режим игнорирования регистра, символы

 

верхнего и нижнего регистров считаются

 

идентичными.

-1

Перечисляет только имена файлов, которые содержат

 

найденные строки.

-n

Задаёт простановку относительного номера к каждой

 

строке в файле.

-v

Меняет условия поиска на обратные для выдачи

 

только тех строк, которые не соответствуют шаблону

Задаёт вывод только количества строк, которые

 

содержат шабл н.

-w

Задаёт поиск выражения как слова.

 

Табл. 11. Опции команды grep

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

В следующих примерах покажем использование фильтра grep совместно с файлами и расширенным выводом данных по команде ls.

[antonk@lab4236s ~]$ grep root /etc/group /etc passwd

/etc/group:root:x:0:root

/etc/group:bin:x:1:root,bin,daemon /etc/group:daemon:x:2:root,bin, daemon /etc/group:sys:x:3:root,bin,adm /etc/group:adm:x:4:root,adm,daemon /etc/group:disk:x:6:root /etc/group:wheel:x:10:root /etc/group:pkcs11:x:101:root /etc/passwd:root:x:0:0:root:/root:/bin/bash

/etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin

[antonk@lab4236s ~]$ ls -l | grep bmt

-rw-rw-r– 1 antonk antonk

0 Sep 21 15:11 bmt1

-rw-rw-r– 1 antonk antonk

0 Sep 21 15:11 bmt2

-rw-rw-r– 1 antonk antonk

0 Sep 21 15:11 bmt3

-rw-rw-r– 1 antonk antonk

42 Sep 21 15:11 bmt?

-rw-rw-r– 1 antonk antonk

192 Sep 30 15:35 bmt_link

[antonk@lab4236s ~]$ ls -l | grep ^d

drwxr-xr-x 2 antonk antonk

4096 Dec 22 2008 1111111

drwxr-xr-x 11 antonk antonk

4096 Dec 22 2008 222

drwxr-xr-x 4 antonk antonk

4096 Dec 22 2008 333

drwxr-xr-x 2 antonk antonk

4096 Rug 14 2008 BMT

drwxr-xr-x 3 antonk antonk

4096 Oct 15 15:53 Desktop

drwxrwxr-x 2 kras kras

4096 Dec 9 2008 Marsh

drwxrwxr-x 2 antonk antonk

4096 Oct 14 13:18 WWW

drwxrwxr-x 2 antonk antonk

4096 Oct 14 13:17 copy

drwxrwxr-x 3 antonk antonk

4096 Oct 3 15:34 new

[antonk@lab4236s ~]$

Впервом примере из двух файлов /etc/group и /etc/passwd осуществлен вывод только тех строк, которые содержат шаблон «root» . Следует заметить, что обработку файлов grep осуществляет в порядке их очередности.

Вследующем примере с помощью grep требуется отфильтровать строки расширенного вывода сведений по команде ls текущей директории (в данном случае домашний каталог пользователя antonk), которые содержат символьную комбинацию «bmt». В последнем примере требуется из всего расширенного вывода данных пользовательской папки antonk вывести только директории. Напомним, что при работе с командой ls с опцией –l первый символ по строке обозначает тип объекта файловой системы, в частности, d – директория. Символ «^» в шаблоне при команде grep (табл.4.4) говорит данной команде, что следующий символ или комбинация символов должны находиться в начале строки. Таким образом, можно с помощью grep разделять ОФС по типу.

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

Метасимвол

Назначение

 

 

^

Символ «домик, крышка» указывает на то, что

 

следующий символ или комбинация символов

 

находятся в начале строки

$

Символ «доллара» указывает на то, что впереди

 

стоящий символ или комбинация символов находятся

 

в конце строки

[abc] или [a-

Набор квадратный скобок показывает, что в данном

c]

месте регулярного выражения находится один из

 

предложенных символов в виде перечисления или

 

диапазона.

.

Символ «точка» говорит о том, что в данном месте

 

находится один произвольный символ.

Табл. 12. Метасимволы регулярного выражения grep

Втом случае, если требуется задать шаблон более гибким образом, можно использовать фильтр egrep. Синтаксис egrep следующий: egrep –опция шаблон имя_файла(ов). Данный фильтр, например, позволяет указывать фиксированную или любую другую часть, удовлетворяющую регулярному выражению.

Впервом примере осуществим поиск всех строк в файле /etc/passwd , в которых шаблон состоит из буквы «m», далее одной из перечисленных: «a», «y», «g» , затем другие

символы по строке. Во втором примере отобразим все строки файла /etc/passwd, которые включают одно из двух выражений: «daemon:/sbin» или «adm:/sbin».

[root@lab4236s antonk]# egrep 'm(a|y|g)' /etc/passwd

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash amanda:x:33:6:Amanda user:/var/lib/amanda:/bin/bash cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/bin/bash

mailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailman:/sbin/nologin st266084:x:705:705:Eidelman:/home/2009_2010/ekt47/st266084:/bin/bash

[root@lab4236s antonk]# egrep '(daemon:|adm:)/sbin' /etc/passwd

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

[root@lab4236s antonk]#

И, наконец, последней в семействе grep является команда fgrep. Особенность данной команды состоит в том, что она многие специальные символы понимает как часть строковой информации. Команда fgrep осуществляет поиск в файле ключевого выражения как фиксированной строки. Ее работа отличается от работы grep и egrep, т.к. она обрабатывает все символы и любые метасимволы регулярных выражений, указанные в командной строке, как обычные символы. Только два символа для fgrep имеют значение метасимволов – знак вопроса (?) и знак доллара ($). Синтаксис fgrep подобен синтаксису grep и egrep: fgrep –опции шаблон имя_файла(ов). В следующем примере найдем все строки, содержащие звездочку «*».

[root@lab4236s antonk]# fgrep '*' /etc/syslog.conf

#kern. * /dev/console *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages

authpriv.*

/var/log/secure

mail.*

-/var/log/maillog

*.emerg

*

local7.*

/var/log/boot.log

[root@lab4236s antonk]#

 

12.Команда WC

Иногда проектировщику СБИС требуется подсчитать количество строк в файле, например, в отчете, или в расширенном выводе данных. Иногда необходимо, например, оценить количество слов в тексте или, например, количество символов, а также посчитать количество файлов для данного проекта. Подходящим средством для этого является команда wc. Команда wc показывает количество строк, слов и символов, содержащихся в файле или в расширенном выводе. Формат команды следующий: wc –опция(и) имя_файла(ов). Данная команда, являясь командой UNIX, может также работать в конвейерной передаче. При использовании wc в конвейерной передаче формат wc следующий: команда | wc –опция имя_файлов. Опции команды wc перечислены в табл. 13.

Команда

Описание

 

 

1

Вывод количества строк

w

Вывод количества слов

с

Вывод количества байт

m

Вывод количества символов

Табл. 13 Опции команды wc

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

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

[antonk@lab4236s ~]$ wc yyyy

5 38 243 yyyy

[antonk@lab4236s ~]$ ls -l www | wc

1 9 48

В данном примере 1 строка, 9 слов и 48 символов.

Контрольные вопросы

1.Назначение и примеры применения команды find.

2.Назначение и синтаксис команд grep, egrep и fgrep.

3.Приведите примеры использования команды sort.

4.Приведите примеры использования команды wc.

13. Системные процессы ОС Linux

Работа моделистов и проектировщиков в design–центре может иметь разноплановый характер, однако зачастую при сложных математических вычислениях они используют системные ресурсы не только своей рабочей станции, но и высокопроизводительных серверов центра по средствам терминального соединения со своего компьютера. В любом случае одной из важнейших задач пользователя является грамотное распределение системных ресурсов локального (host) и/или удаленного (remote host) компьютеров. Безусловно, данная задача основная для системного администратора, однако в целях повышения эффективности и комфортной работы часть задач по оптимизации распределения системных ресурсов выполняет пользователь, а именно, удаляет ненужные файлы и директории; архивирует, сжимает и резервирует важные данные, экономно расходует ресурсы оперативной памяти и процессорного времени.

В процессе работы с операционной системой Linux пользователь нередко запускает (выполняет) встроенные и внешние приложения. В качестве таких приложений чаще всего выступают текстовые и графические редакторы, САПР, программы общения по сети, музыкальные и видеоплееры, программы диагностики работы компьютера, web-браузер и некоторые другие. При этом неоспоримым достоинством Linux является наличие многозадачного режима, что позволяет пользователю многие из перечисленных приложений запускать одновременно. Например, слушая музыку, пользователь одновременно имеет возможность рисовать в графическом редакторе и общаться с другими пользователями с помощью icq-клиента. Все приложения в виде отдельных окон располагаются на рабочем столе пользователя. Для запуска нового приложения

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

Работа в текстовой консоли терминала на своем компьютере или удаленно с другого компьютера также позволяет пользователю запускать одновременно несколько приложений. Это обусловлено тем, что запуск приложений из-под консоли терминала можно производить в интерактивном и фоновом режимах. Но сначала введем понятие процесса и поймем, как данными процессами можно управлять.

13.1 Понятие процесса в Linux

При запуске нового приложения (программы) ставится новая задача, которая провоцирует запуск одного или нескольких процессов в оперативной памяти компьютера. Для полного понимания определим два новых термина: «задача» и «процесс».

Задача – это приложение, которое можно запустить и которым можно управлять в операционной системе. Процесс – это программа, которая возникает в оперативной памяти компьютера при постановке задачи.

Процессы вызываются не только действиями пользователей в результате постановки задач. Система также запускает свои процессы, это так называемые демоны. Демоны – программы, которые работают непрерывно, обрабатывая периодические служебные запросы. Например, демон dtlogin контролирует регистрацию пользователей в системе.

Каждому процессу назначается уникальный идентификационный номер PID (Process Identification Data).

Ядро системы должно знать, что конкретному процессу разрешено. Для этого оно проверяет сведения о нем: сверяет UID (user identification data) и GID (group identification data) процесса, которые полностью совпадают с UID и PID пользователя, запустившего процесс.

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

13.2 Использование системных ресурсов Linux

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

Команда ps. Просмотр процессов, которые выполняются в данный момент, осуществляется командой ps (process status). Команда ps выводит следующие сведения о процессе: идентификатор процесса PID, идентификатор терминала TTY, суммарное время выполнения процесса TIME, а также команду, которой был вызван процесс, CMD. Формат команды: ps параметр(ы) . В табл. 14 приведены параметры команды ps.

Таблица 14 Параметры команды ps

Параметр

Описание

 

 

-aux

Отображается полный перечень процессов в системе

-e

Выводится информация о каждом процессе в системе:

 

PID, TTY, TIME, CMD

-Выдается подробный вывод. Наряду с данными по опции –e выводится информация UID (владелец процесса), PPID (ID родительского процесса) и STIME (время запуска процесса)

Спомощью команды ps и опций –ef выведем часть процессов в системе, используя программный канал и команду поэкранного отображения вывода данных:

[antonk@fargo laba2]$ ps -ef| more

 

 

UID

PID

PPID

C STIME TTY

 

TIME CMC

root

1

0

0 Mar25 ?

00:00:05

init [3]

root

2

10 Mar25

?

00:00:00

[kflushd]

root

3

10 Mar25

?

00:00:47

[kupdate]

root

4

10 Mar25

?

00:00:00

[kpiod]

--More– часть вывода опущена

Полученная информация показывает, что большинство процессов были созданы 25 марта, запущены под правами суперпользователя, время исполнения – нулевое, т.е. выполнились моментально. Так как большинство процессов были созданы в отсутствие запуска приложений из-под терминала системы, то в столбце TTY стоит знак вопроса «?» (означает принадлежность процесса к системному). В табл. 15 приведено описание всех полей команды ps с опциями –ef .

Таблица 15 Описание полей команды ps

Поле

Описани

 

 

UID

Имя владельца процесса

PID

Уникальный идентификатор процесса

PPID

Уникальный идентификатор родительского процесса

C

Использование процессорного времени. Используется при

 

выводе данных по команде top

STIME

Время запуска процесса (МесяцДень)

T Y

Терминал, который использовался при запуске процесса (у)

TIME

Суммарное время работы процесса

CMD

Имя команды, которая породила процесс

Табл. 15. Описание полей данных при использовании команды ps

Следует оговориться, что время исполнения процесса в памяти компьютера не совпадает с реальным временем. Это связано с большим количеством процессов и неравными правами (приоритетами) между ними. Поиск нужного процесса можно осуществить с помощью комбинации команд ps, grep и программного канала. Например, найдем все процессы, которые начинаются на букву «l» (апострофы можно опустить):

[antonk@fargo laba2]$ ps -ef |grep ^l

lp 596 1 0 Mar25 ? 00:00:00 [lpd]

[antonk@fargo laba2]$

Команда top. Для просмотра существующих процессов в Linux также предусмотрена команда top, являющаяся альтернативой команде ps. В отличие от ps, она имеет свою интерактивную среду и в реальном времени (динамично) изменяет информацию о ходе выполнения процесса. Пользователь может настроить top так, чтобы информация о процессах обновлялась каждую секунду или даже долю секунды. При этом top, в отличие от ps (рис.16), отображает реальный расход процессорного времени для каждого процесса, расход оперативной памяти и некоторую другую информацию.

Рис.16. Интерфейс команды top

Команда vmstat предназначена для получения информации об эффективности использования различных компонентов системы, например памяти, центрального процессора, устройств ввода-вывода, и выполнения операций подкачки. Если в качестве одного из параметров этой команды указать период времени, то информация будет выводиться повторно через указанный интервал, обычно несколько секунд.

Кроме того, в Linux имеется команда free , при вводе которой пользователь может узнать объем свободной оперативной памяти, в частности выяснить, сколько памяти свободно и сколько используется, а также сколько памяти выделено для буферов и файла подкачки.

Команда pgrep является наиболее эффективным способом поиска процесса по имени. Команда pgrep отображает PID процесса, который соответствует шаблону поиска в командной строке. Например, отобразим PID процесса lp:

[antonk@fargo laba2]$ pgrep lp

596

[antonk@fargo laba2]$

С командой pgrep используются параметры, приведенные в табл.17.

Таблица 17 Параметры команды pgrep

Параметр

Описание

 

 

-x

Выводятся PID, полностью совпадающие с шаблоном

-n

Выводятся только более новые PID, чем тот, что

 

соответствует шаблону. Выводится ID процесса,

 

соответствующего шаблону

-U

Отображаются PID, которые принадлежат заданному

 

пользователю. Требуется задать только имя

 

пользователя.

-l

Наряду с PID процесса выводится его имя

В следующем примере покажем использование команды pgrep с параметром –l (вывод PID и имени процесса):

[antonk@fargo laba2]$ pgrep –l lp

596 lpd

[antonk@fargo laba2]$

13.3 Управление процессами с помощью сигналов

Управление процессами осуществляется c помощm. сигналов. Сигнал – сообщение,

несущее команде для исполнения определенный номер. Linux использует сигналы для сообщения о прерываниях, сгенерированных пользователем, а также о неправильных системных вызовах, нарушенных конвейерах, неверных инструкциях и других условиях. Сигналы позволяют воздействовать на процессы, выполняющиеся в системе, они посылают процессу информацию о том, что произошло новое событие, на которое процесс должен отреагировать. Например, при нажатии комбинации клавиш Control-C процессу отправляется стоп-сигнал, по которому он должен завершить свою работу. Процесс считывает номер сигнала и в зависимости от номера реагирует определенным образом (табл.18).

 

 

 

Таблица 18 Перечень некоторых сигналов

 

 

 

 

 

Тип

Имя

Номер

Генерирующее условие

 

 

 

 

 

 

Отсутствие

 

0

Выход по команде exit или

 

сигнала

 

 

при достижении конца

 

 

 

 

программы

 

Разрыв

SIGHUP

1

Разрыв линии

 

Прерывание

SIGIN

2

Нажатие клавиши

 

терминала

 

 

прерывания (например, Ctrl-

 

 

 

 

C)

 

Прекращение

SIGQUIT

3

Нажатие клавиши

 

 

 

 

прекращения (обычно, Ctrl-

 

 

 

 

Shift-\ или Ctrl-Shift-|)

 

Уничтожение

SIGKILL

9

Самый сильный сигнал для

 

 

 

 

процесса. Применяется в

 

 

 

 

крайнем случае

 

Завершение

SIGTERM

15

Сигнал воздействия на

 

программы

 

 

процесс по умолчанию

 

Стоп

SIGTSTP

20

Нажатие клавиши

 

 

 

 

приостановки (обычно Ctrl-

 

 

 

 

Z).

 

Команды kill и pkill. Снятие процессов осуществляется с помощью команды kill совместно с использованием номера сигнала. При этом обычно с kill используются два основных сигнала: 15 (используется по умолчанию) и 9 (уничтожение процесса). Старайтесь не применять сигнал 9, так как завершение процесса с этим сигналом иногда может привести к непредсказуемым последствиям. Сигнал 9, действуя на процесс, приводит к незамедлительному завершению последнего. Таким образом, использовать kill -9 номер_процесса или kill -KILL номер_процесса следует лишь как последнее средство. Применение данных команд к процессу, управляющему работой базы данных или программой обновления файлов, способно привести к губительным последствиям! Процесс уничтожается немедленно, не имея никакого шанса корректно завершить свою работу. Например, если вы записываете диск и уничтожаете этот процесс сигналом 9, вы можете повредить как сам диск, так и устройство CD-ROM. Завершая процесс печати большого документа, вы можете повредить печатающее устройство, а завершая сеанс работы с компьютером путем уничтожения соответствующего процесса во время архивирования большого массива данных, вы можете повредить жесткий диск.

В следующем примере с помощью команды kill завершим работу демона lpsched по его PID.

[antonk@fargo laba2]$ kill 596

Если ввести kill без указания сигнала, процессу отправляется сигнал по умолчанию, а именно 15. Как правило, это приводит к завершению процесса.

Можно завершить работу процесса по его названию с помощью команды pkill:

[antonk@fargo laba2]$ pkill lpd

Завершение процессов через удаленный сеанс. Иногда рабочая станция не реагирует ни на ввод с клавиатуры, ни на мышь. Оконный сеанс при этом оказывается полностью недоступным. Справиться с такой ситуацией можно следующим образом. Войдите на свою рабочую станцию с удаленной системы, используя команду rlogin или telnet. Соединившись, выполните команду pkill, чтобы завершить вышедший из-под управления сеанс на своей рабочей станции, например:

$ rlogin lab4236s Password: *****

Last login: Fri Feb 04 16:50:30 from lab4236s

Linux lab4236s 2.6.18-92.1.10.e15 Thu Aug 5 07:42:41

$ pkill -9 shell

13.4 Интерактивный и фоновый режимы заданий

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

Если же требуется выполнить с одной командной строки несколько приложений, то предыдущее приложение нужно перевести в фоновый режим либо изначально запускать задачу в фоновом режиме. Фоновые операции особенно удобны при выполнении заданий, требующих много времени. При выполнении печати, например, можно одновременно редактировать какой-нибудь файл или управлять работой команды, а именно, изменять приоритет выполнения команды, приостанавливать и даже удалять. Для того чтобы выполнить задачу в фоновом режиме, необходимо в конце ее поставить амперсанд (&).

Фоновый режим применяется, когда требуется из одного терминального окна запустить сразу несколько команд. Чтобы не ждать окончания выполнения приложения, можно просто запустить приложение в фоновом режиме. При вводе такой команды в фоновом режиме система выдает на экран номер задания пользователя и системный номер процесса. При этом система указывает в квадратных скобках номер задания, по которому пользователь может следить за ним и им управлять. Так же отображается системный номер процесса – номер, под которым задание проходит в системе. В фоновый режим можно переместить несколько задач, при этом система каждой присваивает номер для связи с пользователем.

В следующем примере показан запуск текстового редактора с графическим интерфейсом приложения kedits в фоновом режиме:

[antonk@lab4236s ~]$ kedits &

[1] 13617

[antonk@lab4236s ~]S kbuildsycoca running...

Как видно из командного приглашения Linux, данная задача является первой для этого терминального окна, а номер процесса, который она породила, - 13617.

Система выдает на экран номер задания пользователя и системный номер процесса.

Номер задания, заключенный в квадратные скобки, – это номер, по которому

Соседние файлы в папке КТНИ