'

Введение в ОС LINUX

Понравилась презентация – покажи это...





Слайд 0

Введение в ОС LINUX © Варфоломеев В.А., МИИТ, кафедра АСУ


Слайд 1

Введение в ОС LINUX 2 Linus Torvalds


Слайд 2

Введение в ОС LINUX 3 Мир ОС Unix AIX (IBM) HP-UX (HP) IRIX (SGI) Solaris (Sun) SunOS (Sun) SCO UNIX (Microsoft) Linux Free BSD Стандарты POSIX ? x Open (XPG): Унификация требований к интерфейсу пользователя shell Унификация системных вызовов (язык С/C++) Клоны: System V (Sun), OSF1 (IBM, HP), BSD


Слайд 3

Введение в ОС LINUX 4 Мир ОС Linux Ubuntu openSUSE Red Hat Mandriva Slackware Debian) Fedora ALTLinux, ASPLinux, Runto, Linux XP, … GNU General Public License (Универсальная общественная лицензия GNU) — лицензия на свободное программное обеспечение Предоставляет пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.


Слайд 4

Введение в ОС LINUX 5 Организация файловой системы Файловая система ОС LINUX имеет иерархическую (древовидную) структуру. корневой каталог(/) каталог4 каталог1 каталог2 каталог3 каталог5 каталог6 файл1 файл3 файл4 файл2 файл7 файл5 файл6


Слайд 5

Введение в ОС LINUX 6 Физическая файловая система Имя Индекс file1 1234 file2 2345 dir1 0256 Каталог Атрибуты файла Указатели блоков памяти = = = = = = = = = A1 A2 ... A12 A13 A14 A15 Таблица индексных дескрипторов Д Д Д У У У У ... Д ... ... Д Д ... Д Д ... Д


Слайд 6

Введение в ОС LINUX 7 Типы файлов LINUX Обычный файл (-) Каталог (d) Файл – устройство Символьное (c) Блочное (b) Именованный канал FIFO (p) Сокет (s) Ссылка (l)


Слайд 7

Введение в ОС LINUX 8 Системные каталоги LINUX / bin dev etc lib mnt sbin tmp usr boot - корневой каталог - команды и утилиты LINUX - специальные файлы, представляющие устройства ввода-вывода - утилиты администратора системы и конфигурационные файлы - важнейшие библиотеки программ - подключаемые (или монтируемые) файловые системы важные системные программы, используемые для администрирования - временные файлы - файлы загрузки операционной системы каталоги и обычные файлы, содержащие информацию, привлекаемую при решении задач пользователя home домашние каталоги зарегистрированных пользователей


Слайд 8

Введение в ОС LINUX 9 Имена файлов LINUX В качестве имени файла может использоваться последовательность из букв, цифр, знака подчеркивания и точки (POSIX). Длина имени файла колеблется от 14 до 256 символ в зависимости от системы. В ОС LINUX прописные и строчные символы в именах файлов воспринимаются как различные, поэтому file, File, FILE – это три различных файла. Файлы, начинающиеся с символа “.” считаются скрытыми и зачастую не отображаются при просмотре каталога без особой команды. Для указания группы файлов могут быть использованы символы шаблона.


Слайд 9

Введение в ОС LINUX 10 Абсолютные и относительные имена файлов Абсолютное имя файла (до 1023 символов): /u/u01/doc/pismo Относительное имя файла: pismo ($PWD=/u/u01/doc/) doc/pismo ($PWD=/u/u01/) ../u01/doc/pismo ($PWD=/u/u02/) ~/doc/pismo / – корневой каталог . – текущий (рабочий) каталог (PWD) .. – родительский каталог ~ – домашний каталог (HOME)


Слайд 10

Введение в ОС LINUX 11 Шаблоны имен файлов Символы шаблона: * - заменяет любое количество произвольных символов, в том числе и отсутствие символов: b* ? b, bob, b805, b.txt */*.c ? prg/hello.c,prg/calc.c, lib/win.c ? – заменяет один любой символ: b? ? b1, bb, bx, b# ???/.* ? usr/.sh_history, etc/.profile […] – определяет множество символов, из которых может быть выбран только один: a[cChH] ? ac или aC или ah или aH [a-z]file ? afile, bfile, … , zfile [!0-9]* ? afile3, rc, .file но не 4ac, 999, 7sht


Слайд 11

Введение в ОС LINUX 12 Пользователи системы LINUX Все пользователи должны быть зарегистрированы в системе и для них установлены определенные права. Каждый пользователь имеет: уникальное регистрационное имя (login name) идентификатор пользователя (UID) пароль (password) домашний каталог (user directory) командный интерпретатор для поддержки сеанса работы (shell) Все пользователи объединяются в группы. Каждая группа имеет: уникальное имя (group name) идентификатор группы (GID) /etc/passwd - сведения обо всех зарегистрированных пользователях /etc/group - сведения обо всех зарегистрированных группах


Слайд 12

Введение в ОС LINUX 13 Пользовательский интерфейс LINUX LINUX поддерживает два типа пользовательских интерфейсов. Базовый тип командный интерпретатор shell, использующий текстовый алфавитно-цифровой терминал. Тип интерфейса – командная строка. sh – Bourne shell csh – C-shell ksh – Korn-shell bash – Bourne Again shell Графический интерфейс – x Window. Типы графических оболочек: Gnome, KDE.


Слайд 13

Введение в ОС LINUX 14 Пользовательская среда shell В рамках любого из интерпретаторов можно: использовать набор команд (встроенные и внешние) создавать и исполнять командные процедуры – скрипты запускать на выполнение любые программы осуществлять настройку терминала и параметров среды (окружения) пользователя Каждый раз, когда открывается пользовательский сеанс, автоматически запускаются два файла: profile bashes


Слайд 14

Введение в ОС LINUX 15 Обобщенный формат команд shell имя_команды – ключевое слово, определяющее действие команды: cd, cat, find, set ключ (опция) – символ, задающий режим или способ выполнения команды (предваряется знаком “-”): -l, -E, -alEgF аргументы – список параметров, указывающих на обрабатываемые объекты или задающих исходные данные При необходимости разделить ключи и аргументы следует указать «двойной минус» -- man – команда вывода страниц руководства по командам shell имя_команды [-ключи] [аргументы…]


Слайд 15

Введение в ОС LINUX 16 Работа с каталогами Показать текущий каталог (pwd) pwd Изменить текущий каталог (cd) cd [имя_каталога] $ cd $ pwd /u/u01 $ cd pic $ pwd /u/u01/pic $ cd .. $ pwd /u/u01 $ cd /etc $ pwd /etc


Слайд 16

Введение в ОС LINUX 17 Создание каталога mkdir имя_каталога1 [имя_каталога2 …] $ mkdir dir - создание каталога, с именем dir в текущем каталоге $ mkdir –m 750 dir - создание каталога с установленными правами доступа (код 750) $ mkdir dir1 dir2 dir3 - создание нескольких каталогов $ mkdir /home/stud/tst - создание каталога с абсолютным именем


Слайд 17

Введение в ОС LINUX 18 Просмотр содержимого каталога Список файлов текущего каталога $ ls file1 file2 dir1 Список файлов указанного каталога /u/user01 $ ls -F /u/user01 file1 file2* dir1/ * - программы (исполнимые файлы) / - каталоги @, & - ссылки на другие файлы | - FIFO файл пробел - простой файл ls [-ключи] [имя_каталога]


Слайд 18

Введение в ОС LINUX 19 Просмотр содержимого каталога Расширенный вывод каталога /home/stud $ ls –l /home/stud -rwxr-xr-x 1 user01 is 512 Apr 16 10:46 file1 -rw-r--r-x 1 user01 is 1320 Apr 11 17:02 file2 drw-r--r-x 1 user01 is 8096 Apr 11 17:02 dir1 Тип файла Число ссылок Имя группы Дата и время Права доступа Имя пользователя Размер Имя файла


Слайд 19

Введение в ОС LINUX 20 Удаление каталога rmdir [-p] каталог Удаляет пустые каталоги или деревья (-p) $ rmdir /abc $ rmdir –p /int/mom/tmp rm [-irv] каталог Удаляет файлы из указанных каталогов и сами каталоги -i – вывод запроса на удаление файлов -r – удаление всех подкаталогов (рекурсивное удаление) -v – вывод списка удаленных файлов $ rm -r /temp


Слайд 20

Введение в ОС LINUX 21 Создание и редактирование файлов ed [файл] – встроенный текстовый редактор shell vi [файл] – встроенный текстовый редактор shell сat > файл – ввод с консоли (Ctrl-D – завершить ввод)


Слайд 21

Введение в ОС LINUX 22 Вывод текстовых файлов сat файл [файл …] - для просмотра файлов из нескольких строк Управляющие действия: Ctrl-s – приостановка, Ctrl-q - возобновление вывода more файл - постраничный просмотр больших файлов Управляющие действия: Пробел - переход на следующую страницу Enter - сдвиг вперед на одну строку b - возврат на предыдущую страницу h - обращение за подсказкой q или Ctrl-c - выход в режим командной строки


Слайд 22

Введение в ОС LINUX 23 Удаление файла rm [-iv] файл [файл…] -i – вывод запроса на удаление файлов -v – вывод списка удаленных файлов $ rm file1 file2 file3 $ rm –i file? $ rm –i ~/*.o


Слайд 23

Введение в ОС LINUX 24 Копирование файлов и каталогов Копирование файлов в текущем каталоге cp [-ключи] файл1 файл2 $ cp file1 file2 Копирование файлов в другой каталог cp [-ключи] файл [файл…] каталог $ cp file1 file2 ~/dir $ cp –i file1 /dir overwrite dir/file1? n Копирование каталога в другой каталог cp [-ключи] каталог1 каталог2 $ cp –r ~/dir /tmp


Слайд 24

Введение в ОС LINUX 25 Перемещение и переименование файлов и каталогов Переименование файла mv [-ключи] файл1 файл2 $ mv file1 file3 Перемещение файла в другой каталог mv [-ключи] файл [файл…] каталог $ mv file3 dir Переименование каталога mv [-ключи] каталог1 каталог2 $ mv dir katalog Перемещение каталога в другой каталог mv [-ключи] каталог1 каталог2 $ mv –r dir katalog


Слайд 25

Введение в ОС LINUX 26 Жесткие ссылки (hard link) ln /u/user1/filec /u/user2/filec link /u/user1/filec /u/user2/filec u user1 user2 file1 Inode=0333 filec Inode=1077 file1 Inode=1451


Слайд 26

Введение в ОС LINUX 27 Символические ссылки (symbolic link) ln –s /home/user1/filec /home/user2/filec home user1 user2 file1 Inode=0333 filec Inode=1077 file1 Inode=1451 filec Inode=1946 /u/user1/filec


Слайд 27

Введение в ОС LINUX 28 Выборка столбцов файла сut –c список файл $ cat tabl1 1 Ivan 578 mosсow 2 Peter 435 newyork 3 Sasha 734 orel $ cut –c 1, 3, 4, 5, 16-22 tabl1 1Ivamoscow 2Petnewyork 3Sasorel


Слайд 28

Введение в ОС LINUX 29 Поиск контекста в файле grep [-ключи] шаблон [файл] egrep [-ключи] шаблон [файл] -c - вывести количество найденных строк -v - вывести строки, не удовлетворяющие условию -i - игнорировать различие между прописными и строчными символами $ grep linux docs.txt $ grep –ci ’Red Hat Linux’ docs.txt $ grep ’get|put|print|write’ docs.txt


Слайд 29

Введение в ОС LINUX 30 Поиск контекста в файле Специальные символы шаблона: . – любой произвольный символ * – предыдущий символ повторить любое число раз .* – любая последовательность символов ^шаблон – привязка шаблона к началу строки шаблон$ – привязка шаблона к концу строки [символы] – взять ровно один символ из списка $ grep ’^a.*z$’ docs.txt $ grep ’^[aA]$’ docs.txt $ grep ’\$1\.00’ price


Слайд 30

Введение в ОС LINUX 31 Поиск файлов по запросу find каталог ключи-условия [ключи-действия] Ключи-условия: -name шаблон - шаблон имени файла -type f - брать только обыкновенные файлы ( d - только каталоги) -size +500 - файлы размером более 500*512 байт -mtime –3 – файл изменен менее трех дней назад -atime +3 – последний доступ к файлу более трех дней назад -user имя - файлы, принадлежащие указанному пользователю -group имя - файлы, принадлежащие пользователям указанной группы -maxdepth 1 – ограничить глубину поиска по вложенным каталогам Ключи-действия: -exec команда {} \; - выполнить заданную команду над найденными файлами $ find / -name ’*.c’ $ find /tmp –type f –atime+30 –exec rm {} \;


Слайд 31

Введение в ОС LINUX 32 Стандартные потоки ввода-вывода Стандартный входной поток stdin (дескриптор 0) Стандартный выходной поток stdout (дескриптор 1) Стандартный выходной поток ошибок stderr (дескриптор 2) программа (команда) stdin(fd0) stderr(fd2) stdout(fd1) экран клавиатура


Слайд 32

Введение в ОС LINUX 33 Перенаправление ввода-вывода Перенаправление ввода-вывода – это изменение стандартных входных и выходных потоков и привязка к определенным устройствам или файлам > - переназначение стандартного вывода 2> - переназначение стандартного потока сообщений об ошибках >> - переназначение вывода, добавление вывода команды в конец существующего файла < - изменение (назначение) нестандартного входного устройства << - считывать стандартный ввод, пока не встретится указанный текст


Слайд 33

Введение в ОС LINUX 34 Перенаправление ввода-вывода Перенаправление вывода $ ls > file – вывод данных не на экран, а в файл $ cat f1 f2 f3 > f4 – слияние нескольких файлов в один $ cat > newfile – ввод данных с клавиатуры (Ctrl-D-завершить) $ cat file1 >> file2 – к существующему файлу file2 добавить информацию из файла file1 $ sort myfile > /dev/null – подавление вывода $ find / -mtime +30 2> errfile – переназначение потока ошибок Перенаправление ввода $ mailx user02 < mymessage $ cat >hello.c <<fin


Слайд 34

Введение в ОС LINUX 35 Конвейеры команд программа1 stdin stdout программа2 stdin stdout команда1 | команда2 | команда3… $ ls –l | more – постраничный вывод текущего каталога $ ls –l | cut –c1 | grep –c “^d” – поиск и вывод на экран информации о количестве каталогов, входящих в текущий каталог


Слайд 35

Введение в ОС LINUX 36 Управление доступом к файлам Владелец Группа Прочие SetUID – разрешение выполнять файл от имени владельца SetGID – разрешение выполнять файл от имени группы владельца Sticky – разрешение записи в каталог без возможности удаления и переименования файлов r – разрешение на чтение w– разрешение на запись x – разрешение на выполнение 1 0 1 1 1 1 1 1 0 1 0 0 57648


Слайд 36

Введение в ОС LINUX 37 Права доступа к файлу и каталогу Отсутствие права x для каталога означает запрет на выполнение любых операций с данным каталогом и входящими в него файлами, независимо от того, какие атрибуты имеют файлы каталога. Право r для каталога (совместно с x) дает возможность выполнять команду просмотра содержимого каталога ls. Каталоги с отсутствующим атрибутом r называют "темными", так как нет никакого прямого способа узнать, какие файлы в нем размещены. Право на запись в каталог w (совместно с x) разрешает добавлять в каталог новые файлы, а также удалять из каталога существующие файлы, причем независимо от того, какие атрибуты имеют сами файлы (т.е. приоритет отдается правам для каталога). В то же время ни один файл каталога не может быть удален, если у каталога нет права w.


Слайд 37

Введение в ОС LINUX 38 Просмотр текущих атрибутов доступа $ ls -l drw-r--r-t 1 user1 is 8132 Apr 11 17:02 dir1 -rwsr--r-x 1 user1 is 1320 Apr 01 16:35 file1 -rw-r-S--x 1 user1 is 5078 Apr 11 00:02 file2 s – установлен SetGID (SetUID) и право на выполнение S – установлен SetGID (SetUID) без права на выполнение t – установлен Sticky и право на выполнение T – установлен Sticky без права на выполнение


Слайд 38

Введение в ОС LINUX 39 Установка атрибутов доступа сhmod атрибуты файл [файл…] u -владелец, g - группа, o - прочие, a - все Предоставление права на запись в файл ~/file членам группы (остальные атрибуты не меняются) chmod g+w file Лишение всех прав на доступ для каталога dir chmod a-rwx dir Избирательная установка указанных атрибутов со сбросом остальных chmod u=rws,g=r,o=rt file1 chmod 5744 file2 chmod 750 file1 file3


Слайд 39

Введение в ОС LINUX 40 Изменение владельца и группы Изменить владельца сhown имя файл [файл…] chown user01 file1 file2 Изменить группу владельца сhgrp группа файл [файл…] chgrp is file1 file2 Получить права другого пользователя su


Слайд 40

Введение в ОС LINUX 41 Информация о системе и пользователях Вывод параметров идентификации пользователя: id , whoami Вывод информации о системе: uname -a Вывод информации о подключенных пользователях: who –a Вывод информации о файловых системах: df [-v] Вывод текущей даты и времени: date


Слайд 41

Введение в ОС LINUX 42 Командные процедуры (скрипты) Скрипты содержат последовательность команд LINUX, которую можно сохранять на диске в виде файла и запускать на выполнение при необходимости так же, как и обычные программы. Файл myscript #комментарий Команда1 Команда2 . . . КомандаN ./myscript – запуск скрипта на выполнение из текущего каталога !!! Файл скрипта обязательно должен иметь атрибут доступа x (т.е. исполнимый)


Слайд 42

Введение в ОС LINUX 43 Переменные Определены в момент открытия пользовательского сеанса Могут иметь произвольные имена, состоящие из букв (латинских), цифр и знака подчеркивания. Имя должно начинаться с буквы. Переменные Системные Пользовательские Все переменные Linux – строковые.


Слайд 43

Введение в ОС LINUX 44 Системные переменные HOME – имя домашнего каталога пользователя PWD – имя текущего каталога PATH – пути поиска программных файлов PS1 – формат приглашения в начале командной строки LOGNAME – имя пользователя MAIL – имя почтового ящика пользователя Значения устанавливаются при инициализации сеанса (/etc/profile, /$HOME/. profile) и могут быть выведены с помощью команд echo, pritenv, env echo $PATH /bin:/usr/bin


Слайд 44

Введение в ОС LINUX 45 Работа с переменными Присваивание значения переменной переменная=значение переменная=’значение’ (если значение содержит пробелы) переменная=`команда` (присвоить вывод команды) Взять значение переменной: $переменная Создать глобальную переменную: export переменная x=/u/user01; z=88; y=$z; u=z p1=’pwd’; p2=`pwd` echo $x x $z $y $u $p1 $p2 $p3 /u/user01 x 88 88 z pwd /u/user01


Слайд 45

Введение в ОС LINUX 46 Настройка пользовательской среды export PS1=’$LOGNAME’:’$PWD’:’>’ export PATH=$PATH:$HOME:. export LANG=Ru_RU export LC_ALL=Ru_RU export TZ=EST1EDT export ENV=$HOME/.setup /etc/rc /etc/profile $HOME/.profile $ENV $HOME/.profile $HOME/$ENV alias lsl=”ls -l”


Слайд 46

Введение в ОС LINUX 47 Арифметические выражения Присваивание значения переменной let ” переменная=выражение” переменная=$((выражение)) Арифметические операции: *, /, %, +, - (Только над целыми числами) i=1 let ”j=$i+1” echo $j 2 i=1 j=$i+1 echo $j 1+1 let ”i=1+2*3” j=$(((1+2)*3)) echo $i $j 7 9


Слайд 47

Введение в ОС LINUX 48 Условные выражения Условия, связанные с файлами: test -s файл – размер файла больше нуля test -r файл – есть ли доступ на чтение test -w файл – есть ли доступ на запись test -x файл – есть ли право на выполнение test -f файл – является ли файл обычным test -d файл – является ли файл каталогом test -e файл – существует ли файл test -O файл – принадлежит ли файл текущему пользователю Условные выражения – true (0) или false (? 0) – формируются в результате выполнения команд (код завершения) или специальными логическими конструкциями test или [ ]


Слайд 48

Введение в ОС LINUX 49 Условные выражения (продолжение) Условия проверки строк: test -z строка – имеет ли строка нулевую длину test -n строка – имеет ли строка ненулевую длину test стр1 = стр2 – совпадают ли строки test стр1 != стр2 – строки не совпадают Условия сравнения чисел: test A –eq B – A=B test A –ne B – A?B test A –lt B – A<B test A –le B – A?B test A –gt B – A>B test A –ge B – A?B


Слайд 49

Введение в ОС LINUX 50 Команда проверки условий if условие then команда … команда [else команда … команда] fi Примеры: if test -s $MAIL then echo ’Вам письмо’ fi 2. x=5 if test $x –lt 5 then echo x меньше 5 else echo x не меньше 5 fi


Слайд 50

Введение в ОС LINUX 51 Циклы for for переменная in множество_значений do команда . . . команда done Переменная - играет роль параметра цикла, последовательно принимая значения из заданного множества_значений множество_значений можно определить как: список значений (переменных) шаблон имен файлов вывод команды Unix


Слайд 51

Введение в ОС LINUX 52 Циклы for (продолжение) break - досрочный выход из цикла exit – завершение выполнения текущей программы 1. for dir in /tmp /user/tmp /home/tmp do find $dir ! –type d –exec rm { } /; done Примеры: 2. for file in *.bak do rm –i $file done 3. for f in `find . –name ”*.c” –print` do echo $f; c89 –c $f done


Слайд 52

Введение в ОС LINUX 53 Циклы: while while условие do команда … команда done Цикл выполняется до тех пор, пока условие истинно Можно обеспечить выход из цикла командой break i=1 while test $i –lt 5 do echo $i let “i=$i+1” done


Слайд 53

Введение в ОС LINUX 54 Циклы: until Формат: until условие do команда … команда done Выполняется до тех пор, пока условие ложно. Можно обеспечить выход из цикла командой break.


Слайд 54

Введение в ОС LINUX 55 Передача параметров в выполняемый скрипт Формальные параметры (аргументы) задаются значками: $0 … $9 Фактические значения определяются в командной строке по позиции myscript echo это $0 echo $1 echo $3 $ myscript это myscript $ myscript aa bb ” cc dd” это myscript aa cc dd $0 $1 $2 $3


Слайд 55

Введение в ОС LINUX 56 Встроенные переменные Встроенные переменные: $# - количество параметров в командной строке $* - строка, содержащая все параметры, переданные скрипту c разделителем - запятой: ”$1,$2,$3…” $@ - строка, содержащая все параметры, переданные скрипту c разделителем – пробелом: ” $1 $2 $3…” $? –код завершения последнего процесса, выполненного перед запуском скрипта


Слайд 56

Введение в ОС LINUX 57 Пример скрипта if test -z $1 then echo Введите параметры: echo ’$1’- имя каталога exit fi if test -d $1 then i=0 for file in `ls $1` do i=$(($i+1)) done echo В каталоге $1 - $i файлов else echo Каталог не найден fi Пример: подсчитать количество файлов в заданном каталоге.


Слайд 57

Введение в ОС LINUX 58 Процессы в LINUX Типы процессов: Режимы выполнения процессов: Процессы Системные Пользовательские Демоны Режимы Интерактивные Фоновые (пакетные)


Слайд 58

Введение в ОС LINUX 59 Атрибуты процессов Собственный идентификатор (PID) Идентификатор родительского процесса (PPID) Относительный приоритет процесса (Nice Number) Терминал, связанный с данным процессом (TTY) Идентификатор пользователя, запустившего процесс (RID) Идентификатор группы пользователя (RGID) Атрибуты состояния: О – выполняется в данный момент S – блокирован (спит) R – готов к работе I – создается Z – зомби (завершил свое выполнение, потерял все ресурсы, но сведения о нем остались в системном реестре)


Слайд 59

Введение в ОС LINUX 60 Информация о процессах ps [-Aelf] -A – все запущенные процессы -e – все доступные пользователю процессы -f – вывод расширенных атрибутов $ ps PID TTY TIME COMMAND 72098 ttyp0000 2:46 /bin/sh 6745 ttyp0000 0:37 ./myprog 19627 ttyp0000 1:51 /bin/ps Завершить («снять») интерактивный процесс: Ctrl-C Приостановить интерактивный процесс: Ctrl-Z


Слайд 60

Введение в ОС LINUX 61 Группирование и особые режимы выполнения процессов Простая последовательность команд (группа процессов PGID) команда1; команда2; команда3 … $ cd mydir; ls -l Условная последовательность процессов команда1 && команда2 - выполнить 2, если 1 успешна команда1 || команда2 - выполнить 2, если 1 ошибочна Выполнение процесса в фоновом (background) режиме команда &


Слайд 61

Введение в ОС LINUX 62 Управление фоновыми процессами и группами процессов (заданиями) Задание может содержать несколько процессов $ find / -type f –user u01 > file1 & [3] 76453 jobID=3, PID=PGID=76453 Вывод информации о состоянии заданий jobs [-l] Снять задание Завершить процесс kill –s KILL %3 kill 76453 Приостановить выполнение задания kill –s STOP %3 Возобновить выполнение задания: bg %3 или fg %3 Ожидать завершения выполнения задания: wait %3; print “Задание %3 завершено!”


Слайд 62

Введение в ОС LINUX 63 Создание процессов Процессы создаются с помощью специального системного вызова: fork() В LINUX все процессы родственные. На вершине иерархии стоит процесс init. Дочерние процессы наследуют свойства родителей. Родительский процесс контролирует завершение потомков через cистемный вызов wait() или waited() fork() fork() fork()


Слайд 63

Введение в ОС LINUX 64 Пример создания дочернего процесса shell PID = 745 PPID = 1 shell PID = 882 PPID = 745 ls PID = 882 PPID = 745 shell PID = 745 PPID = 1 fork() wait() exit() exec(/usr/bin/ls)


Слайд 64

Введение в ОС LINUX 65 Пример создания дочернего процесса #include <sys/types.h> #include <stdio.h> main() { int pid; pid=fork(); if (pid==-1) { printf(“Ошибка \n”); } if (pid==0) { printf(“Потомок \n”) } else { printf(“Родитель \n”) } }


×

HTML:





Ссылка: