Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сало залік.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
133 Кб
Скачать
☆

9.Виконання команд в фоновому режимі.

Програми , що запускаються з командного рядка , починають працювати в пріоритетному режимі. Це дозволяє вам бачити дані , виведені програмою , і взаємодіяти з нею. Проте в деяких випадках вам хотілося б , щоб програма працювала , не захоплюючи повністю ваш термінал . Це називається роботою програми у фоновому режимі ( background ) , і для здійснення цього завдання існує декілька способів. Першим способом перекладу процесу у фоновий режим є додавання в командний рядок амперсанда при запуску програми. Наприклад , припустимо , що ви хочете скористатися консольним mp3- плеєромamp для відтворення mp3- файлів , однак у той же час вам потрібно працювати в тому ж самому терміналі . Наступна команда запустить amp у фоновому режимі: % Amp * . Mp3 & Програма запуститься і буде працювати як зазвичай, а ви знову повернетеся в командний рядок. Іншим способом перекладу процесу у фоновий режим є здійснення цього під час роботи процесу . Спочатку запустіть програму. Під час її роботи натисніть Control + z . При цьому процес буде припинений . Іншими словами призупинений процес " ставиться на паузу". Він миттєво припиняє свою роботу , але може бути знову запущений в будь-який час . Після того , як ви призупинили процес , ви повертаєтеся в командний рядок. Потім ви можете перевести процес у фоновий режим , набравши : % bg При цьому призупинений процес знову продовжить свою роботу , але вже у фоновому режимі.

10. Команди cron, at, nohub, &.

nohup — утиліта UNIX-подібних систем, яка забезпечує ігнорування виконуваною програмою сигналу HUP (SIGHUP — сигнал програмі про закриття терміналу, з якого вона запущена). Таким чином, вивід роботи програми відбувається не у термінал, як зазвичай, а у файл «nohup.out» в поточній робочій директорії (якщо це неможливо — в «$HOME/nohup.out», якщо і це неможливо — команда взагалі не запускається). nohup — це проста низькорівнева утиліта для ігнорування командою сигналу HUP, вона не призначена для розширеного конфігурування виводу.

user@host:~$ nohup команда [аргументи]

user@host:~$ nohupcat /var/log/syslog

user@host:~$ nohuptail -n 10 /var/log/syslog&

cron — це назва утиліти в операційних системахUnix і Linux, яка дозволяє користувачам виконувати команди або скрипти (групи команд) автоматично в заданий час.Приклад:Кожний день через одну хвилину після півночі видалити вміст файлу /www/apache/logs/error_log:

01 00 * * * cat /dev/null> /www/apache/logs/error_logat — unix-утиліта, що читає команди зі стандартного вхідного потоку та групує їх у вигляді завдання at для виконання пізніше, в певний час.Ця команда також доступна в середовищі Microsoft Windows. Використовуйте at /? для уточнення параметрів для цієї ОС.

& - команда для переходу у фоновий режим.

11.Ввід та вивідданих в Shell.

Реалізація механізму ґрунтується на наступних властивостях ОС UNIX. По-перше, будь яке введення/виведення трактується як введення з деякого файлу та виведення в деякий файл. Клавіатура й екран терміналу теж інтерпретуються як файли (перший можна тільки читати, а в другій можна тільки писати). По-друге, доступ до будь-якого файлу здійснюється через його дескриптор (додатне ціле число). Фіксуються три значення дескрипторів файлів. Файл з дескриптором 1 називається файлом стандартного вводу (stdin), файл з дескриптором 2 -файлом стандартного виводу (stdout), і файл з дескриптором 3 -файлом стандартного виводу діагностичних повідомлень (stderr). По-третє, програма, запущена в деякому процесі, "успадковує" від батьківського процесу всі дескриптори відкритих файлів.

У головному процесі інтерпретатора командноїмови файлом стандартного введення є клавіатура терміналу користувача, а файлами стандартного виводу і виводу діагностичних повідомлень -екран терміналу. Однак при запуску будь-якої команди можна повідомити інтерпретатору (засобами відповідноїкомандної мови), який файл повинен служити файлом стандартного вводу для запускається програми і який файл повинен служити файлом стандартного виводучи виведення діагностичних повідомлень для програми. Тоді інтерпретаторперед виконанням системного виклику execвідкриваєвказаніфайли, підміняючи зміст дескрипторів 1, 2 і 3.