Управление процессами и потоками в ОС Linux через bash-скрипты
Автор: Catherine24 • Ноябрь 13, 2024 • Лабораторная работа • 732 Слов (3 Страниц) • 14 Просмотры
Цель работы: ознакомиться с основами работы с процессами и потоками в операционной системе Linux, а также научиться создавать bash-скрипты для управления ими.
Выполнение работы:
Задание: Напишите скрипт, который будет запускать процессы в разных
терминалах и выводить информацию о них на экран. При этом каждый
процесс должен быть запущен в своем терминале.
Примечание: для выполнения этой задачи можно использовать команду
gnome-terminal для запуска процессов в разных терминалах. Затем можно
использовать команду ps для получения списка запущенных процессов и их
терминалов.
Исходный код скрипта:
[pic 1]
Выполнение в терминале:
[pic 2]
[pic 3]
[pic 4][pic 5][pic 6]
Ответы на контрольные вопросы:
- Командная оболочка (shell) в – это программа, которая обеспечивает интерфейс между пользователем и ядром операционной системы и позволяет пользователю взаимодействовать с системой через командную строку или терминал.
- Bash – это свободно распространяемая командная оболочка, созданная на основе оригинальной оболочки Unix, называемой Bourne Shell (sh).
- Алиасы – это сокращенные имена для команд. Например, вот алиас для команды ls -la — alias ll=’ls -la’.
- Регулярные выражения – это специальный язык для поиска текста в файлах и потоках данных. Например, вот регулярное выражение для поиска всех файлов с расширением .txt в текущей директории:
ls *.txt
- Скрипт – это набор команд, который может быть выполнен в командной оболочке.
- Перенаправление в Bash – это механизм управления потоками ввода/вывода при работе в командной строке Linux и Unix.
- Каналы в Bash – это, как и перенаправление, механизм управления потоками ввода/вывода при работе в командной строке Linux и Unix. Оба механизма позволяют перенаправлять вывод одной команды на вход другой, записывать вывод команд в файлы, читать данные из файлов и др.
- Команда tee используется для вывода команды в файл и на экран одновременно.
- Помимо потоков ввода и вывода, существует поток ошибок (stderr). Перенаправление ошибок используется для вывода сообщений об ошибках и предупреждений.
- Сценарий Bash – это скрипт, написанный на языке программирования bash, который может быть запущен в терминале или другом интерактивном режиме.
- Команды вводятся в командной строке и выполняются после нажатия клавиши Enter. Аргументы команд передаются после имени команды.
- Многие команды имеют опции, которые изменяют поведение команды. Обычно они передаются после имени команды и перед аргументами.
- Условный оператор if используется для выполнения команды, если условие истинно.
- Конструкция elif используется вместе с условным оператором if для проверки дополнительных условий после того, как уже проверено одно или несколько других условий с помощью операторов if или elif.
- Bash поддерживает циклы for и while для выполнения команды для каждого элемента в списке и для выполнения команды до тех пор, пока условие истинно соответственно.
- Цикл until используется для выполнения команд до тех пор, пока определенное условие не станет истинным.
- Если сценарий вызывается с параметрами, создается несколько дополнительных переменных.
- Правила использования кавычек: Одинарные кавычки используются для указания, что все внутри них должно быть интерпретировано буквально; Двойные кавычки используются для интерпретации переменных и команд внутри кавычек; Обратные кавычки используются для выполнения команды внутри кавычек и замены результата выполнения этой команды на место кавычек.
- Переменные окружения – это переменные, которые определены в текущей сессии оболочки и могут быть использованы в командах и сценариях Bash. Они могут использоваться для хранения конфигурационной информации, такой как пути к файлам, настройки системы и другие параметры, необходимые для работы сценария.
- Команда test – это встроенная в Bash команда, которая используется для проверки условий и возвращения соответствующего значения на основе результата проверки.
- ИЛИ-список – это конструкция, которая позволяет выполнять команды, разделенные символом «||» до тех пор, пока одна из них не вернет успешный (код завершения 0) результат. Если какая-либо команда в списке завершится успешно, то оставшиеся команды не будут выполняться.
- Оператор выбора case используется для сравнения значения переменной с несколькими паттернами и выполнения соответствующих действий, если значение соответствует одному из паттернов.
- Функции – это блоки кода, которые могут быть выполнены при вызове функции в командной строке или скрипте.
- Внутренние команды Bash являются частью самого интерпретатора и выполняются непосредственно в его контексте. Не требуют запуска отдельного процесса.
- Внешние команды Bash – это программы, которые запускаются из командной строки. Они могут быть написаны на любом языке программирования и компилироваться в исполняемые файлы.
- Чтобы выполнить команду в Bash, нужно открыть терминал и ввести нужную команду в строку приглашения (обычно это символ "$" или "#"). Результат выполнения команды можно перенаправить в файл или другую команду.
- Основной способ отслеживания наиболее трудно выявляемых ошибок – использование отладочных опций командной оболочки.
- Основные команды для работы с процессами и потоками: ps – вывод списка запущенных процессов, kill – завершение процесса, & – запуск процесса в фоновом режиме, fg – перевод процесса из фонового режима в передний план, pstree – вывод дерева процессов.
...