- •Лабораторная работа №4
- •Shell-программирование: сигналы и прерывания.
- •Хранение файлов во внешней памяти.
- •Общие cведения о системе
- •Команда kill
- •Команда trap
- •Виды действий с сигналами прерываний :
- •Размещение команды trap в программе
- •Сигналы и прерывания: заключения
- •Выполнение команд в фоновом режиме.
- •Команда tar
- •Команда cpio
- •Использование команды find при резервном копировании
- •Задания.
Размещение команды trap в программе
Помещайте команду в начале программы для управления удалением временных файлов, если выполнение программы прекращается:
trap‘rm /tmp/tempfile;exit’ INT QUIT TERM
Помещайте команду перед критическим участком программы для того, чтобы игнорировать возможные сигналы прерывания:
trap‘ ‘ INT QUIT TERM
С помощью команды trapвосcтанавливайте действие системы, принятое по умолчанию, когда выполняется участок программы, требующий нормального завершения:
trapINT QUIT TERM
Сигналы и прерывания: заключения
kill-sсигналидент_процесса Передача сигнала процессу с номеромидент_процесс
killидент_процесса Передача сигналаTERMпроцессу с номеромидент_процесса
kill-sKILLидент_процесса Передача сигнала безусловного уничтожения процессу с номеромидент_процесса
trap ‘команды’ сигнал Перехват сигнала и запуск команды
stty-aПросмотр сигналов
Выполнение команд в фоновом режиме.
Синтаксис:
командная строка>cmd.out&
Планирует командную строкукак задание для фонового режима.
Возвращает приглашение на ввод как только задание запущено.
Перенаправляет вывод фонового процесса с тем, чтобы его вывод не смешивался с интерактивными командами.
Выход из системы приведет к завершению процессов, выполняемых в фоновом режиме. Пользователь получит предупреждение в тот момент, когда попытается выйти из системы,следующего содержания: “Therearerunningjobs”, и поэтому он снова должен ввести командуexitили нажать <Ctrl>+<d>.
Любая из выполняемых в фоновом режиме команд, требующая стандартного ввода, Shell сообщает номер задания и идентификатор процесса при переводе команды в фоновый режим в том случае, если указана опция monitor в команде set (set -o monitor).При указании этой опции по завершении фонового процесса будет выдано на экран соответствующее сообщение.
Команду, выполняемую в фоновом режиме,нельзя прервать нажатием <Ctrl>+<c>. Такого рода команды могут быть прекращены с помощью командыkill.
должна читать его из файла за счет перенаправления ввода.
Весь ввод и вывод фонового процесса должен быть безусловно перенаправлен.
Запуск заданий в фоновом/оперативном режиме
jobs Выводит список выполняемых заданий
<Ctrl>+<z>Приостанавливает оперативный процесс (Символ приостановки
определяется во время входа в систему в файле .profileс помощью команды
sttysusp^z), выдает приглашениеshell’а
fg [%номер]Переводит задание сномеромв оперативный режим
fg [%строка] Переводит любое задание, запущенное командной строкой, начинающееся состроки в оперативный режим
bg [%номер]Переводит задание сномером в фоновый режим
bg [%строка] Переводит любое задание, запущенное командной строкой, начинающееся сострокив фоновый режим
Команда tar
Назначение: Создание архива.
Синтаксис :
$ tar–ключ[fимя_файла ] [файл … ] ведение архива
Ключи:
сСоздается новый архив
xФайлы считываются из архива
tРассматривается таблица содержимого архива
rФайлы записываются в конец архива
uФайлы записываются в архив, если они созданы заново или их содержимое подверглось изменению
Опции:
vВывод на экран имен файлов при их архивировании или восстановлении по ним содержимого утерянных файлов
fфайл Указывает файл, куда будет записываться архив.
Примеры :
Создать архив файлов:
$ tar –cvf my_archivemyfile
$ tar –cvf /dev/rmt/0m myfile
Прочитать таблицу содержимого архива файлов:
$ tar –tvf my_archive
$ tar –tvf /dev/rmt/0m
Считать файл из архива:
$ tar –xvf my_archive myfile
$ tar –xvf /dev/rmt/0m myfile
Создание резервной копии
$ (cd directory_name; tar –cvf - *) | (cd target; tar –xvf -)
