КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Управление процессами на уровне интерпретатора. Командные файлы (пример программы).Список процессов, выполняющихся в настоящий момент: ps – выдает список процессов, запущенных в данном сеансе работы:
PID TTY TIME CMD 2199 pts/5 00:00:00 bsh TTY – управляющий терминал процесса. -ax – список всех существующих процессов. -axu - список всех существующих процессов + информация о владельцах. Снять процесс можно сигналами Kill 2736 – снимает процесс с указанным номером, если процесс не предпринял специальных мер. Kill -9 2736 – уничтожает процесс в любом случае. Система управления заданиями. Каждая команда в системе, запущенная со своего терминала, называется заданием. Оно может выполнять в фоновом или интерактивном режиме inf.j & Результат: [1] 9112; [1] – номер задания, 9112 – PID задания. В команде управления заданиями можно указать номер задания. stop %1 – остановить 1-ое задание job – выводит информацию о приостановленных и фоновых заданиях с указанием их номеров. Ctrl + Z – приостановить задачу. Организация командных файлов. Скрипт – обычный текстовый файл, в котором записаны инструкции интерпретатора. Фактически это файл с программой для выполнения. Первой командой должна быть команда обращения к интерпретатору: #!/bin/sh – тогда последующий текст скрипта будет интерпретироваться именно Bourne Shell. Язык Bourne Shell поддерживает работу с переменной. Чтобы присвоить ей значение надо написать оператор присваивания: var=value. В имени переменной и вокруг знака присваивания не должно быть пробелов, иначе знак = пойдет как один из параметров командной строки, что не правильно. Вывести значение переменной на экран можно с помощью команды echo. Для обращения к содержимому переменной требуется спецсимвол $ echo $MyFile – вывод содержимого переменной на экран. При необходимости скомпоновать слитый текст из значений переменных можно, если имена переменных заключить в {} I=10 echo ${I}abc вывод: 10abc cmd1; cmd2 Последовательное выполнение команд cmd1 && cmd2 Выполнение cmd2 в случае успешного завершения cmd1 cmd1 || cmd2 Выполнение cmd2 в случае ненормального завершения cmd1 Для выполнения арифметических действий – двойные круглые скобки: I=$(($I+5)) Встроенная функция test осуществляет проверку выполнения условия, если условие истина, команда имеет нулевой успешный код возврата, иначе 1 – неуспех. Синоним команды test – квадратные скобки []. Условия проверки файлов. -f file Файл "file" является обычным файлом. x -eq y x равно y x -ne y x не равно y x -gt y x больше y x -lt y x меньше y .... Оператор цикла с перечислением for Команда printf берет данные и передает их в поток вывода stdout с возможностью форматирования. printf “\n Hello_world\n\a” – вывод на новой строке с звуковым сигналом. Для считывания входных данных – команда read – из потока stdin и если ввод перенаправлен, то можно из файла. Скрипт сохраняют в файле *.sh и запускают на выполнение в терминале: ./*.sh
|