Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота3_2.doc
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
179.71 Кб
Скачать

Безумовне припинення фонового процесу

При виконанні команда kill посилає процесу відповідний сигнал. Програми Linux можуть посилати і приймати більш 20 сигналів, кожний з який має свій номер. Наприклад, при вашому виході із системи Linux посилає усім вашим процесам сигнал 1, що змушує всі процеси (крім запущених за допомогою nohup) припинити роботу.

Програми можуть бути написані і таким чином, що будуть ігнорувати сигнали, що посилаються їм, включаючи сигнал 15, що виникає при запуску kill без указівки конкретного сигналу.

Однак сигнал 9 не може бути зігнорований — процес все рівно буде довершений. Таким чином, якщо команда kill PID не змогла завершити процесе (він видний при використанні команди ps), скористайтеся командою kill -9 PID.

Примітка: Команда kill -9 дійсно убиває процес, не даючи йому ні найменшої можливості завершити свої справи в цій операційній системі, проститися з друзями і коректно закрить файли, що може привести до втрати даних. Позтому користайтеся зтой можливістю тільки у випадку крайньої необхідності.

Завершення усіх фонових процесів

Для завершення усіх фонових процесів уведіть kill 0. Оскільки іноді складно відстежити усі фонові процеси, що можуть до того ж гілкуватися і розмножуватися, найкраще скористатися приведеною командою, що завершує всі процеси, запущені поточною оболонкою.

Сигнали, посилаємі командою kill процесу

Як уже указувалося вище , при виконанні команди kill процесу, що зупиняється, посилається сигнал. Список цих сигналів можна одержати за допомогою команди kill -1, а деякі з них приведені в табл.

Таблиця Сигнали, генеруємі командою kill

Номер

Сигнал Опис

1 sighop

Повторне зчитування конфігураційного файлу

9 sigkill

Негайна зупинка процесу

10 SIGUSR1

Процесу відправляється спеціальний сигнал

15 sigterm

Зупинка процесу звичайним образом

Багато процесів зберігають ідентифікаційний номер у каталозі /var/run, відкіля його можна витягти в такий спосіб:

cat /var/run/syslogd.pid

Для безпосереднього відправлення відповідного сигналу можна використовувати наступну команду:

kill -SIGUHP 'cat /var/run/syslogd.pid'

Хід роботи

1. Перегляньте зміст лабораторної роботи і виконайте всі приклади та пропозиції викладені у даній роботі

2. Виконайте індивідуальне завдання.

3. Оформіть звіт до лабораторної роботи дав відповіді на контрольні запитанняs і виконав індувідуальне завдання .

4. Захистіть роботу.

Контрольні запитання .

  1. Процеси ситеми Linux, наведіть команди і принцип їх роботи

  2. Яким чином переглянути процеси системи, видалити запущені процеси

  3. Яким чином відрізнити батьківський процес від дочірнього процесу

  4. Охарактеризуйте команди для роботи з процесами в Linux (у вигляді таблиці: командаописприкладпояснення)

Приклад: at запуск команд у визначений часat 1:23 cp /usr/sales/reports.txt/ /home/p2& копіювання файлу reports.txt у каталог /home/p2 у фоновому режимі в 01 годині 23 хвилини)

  1. Охарактеризуйте всі команди з даної лабораторної роботи (у вигляді таблиці: командаописприкладпояснення)

Примітка: Приклади наводити власні, і не займатися плагіатом, використовуючи з вправ та лабораторної роботи. За піратські дії, залік за лабораторну роботу – двійка.

  1. Які команди використовуються лише суперкористувачем. Які команди використовуються звичайним користувачем. Де можливо переглянути інформацію про дозвіл на використовування команд користувачами. Чи можливо змінити дану ситуація, яким чином. Навести приклад.

  2. Яким чином працюють команди at, bath, crontab

  3. Поясніть різницю між файлами at, bath, crontab.

Вправи до лабораторної роботи №5.

Команда

Приклад

Пояснення

PATH=$PATH:/home/p1

Створення шляху до команд

at

echo>lab “

at 1:23 cp /usr/sales/reports.txt/ /home/p2&”

chmod u+x lab

Створення сценарію

копіювання файлу reports.txt у каталог /home/p2 у фоновому режимі в 01 годині 23 хвилини

ps lab

Перегляд процесів і визначення процесу який потрібно видалити

kill 111

Видалення процесу

batch

at now +1 day

ls

du

Введені командні рядки виконаються завтра

batch mkdir /home/p2/1.txt

Система створить каталог коли сист6ма буде не перевантажена

batch rmdir 111

Система видале файл 111 коли система буде не перевантажена

echo<done “ls

du”

batch <done

Створюємо файл сценарію.

Даємо команду системі для виконання файлу чценапію.

сrontab

crontab -e

10 10 * * 1-5 cp lab /home/1

Запускаємо файл crontab і вводимо завдання

Копіюється файл у каталог 1 о 10 хвилин 10 годин

nice

Nice –5 done&

Понизили пріорітет програми сценарію done

І ндувідуальні завдання.

Завдання №1.

    1. Створити файл сценарію (видалення файлів з домашнього каталогу; створення каталогу та файлу який буде містити файл сценарію, копіювання файлу у каталог)

    2. Запустити за допомогою команд at(час вільний), batch, сrontab.

    3. Переглянути процеси ситеми і впевнитися що задані процеси запущені.

    4. Підвищити пріорітет будь – якого процесу.

    5. Перевірити, що процес з підвищеним пріорітетом виконався

    6. Видалити створені вами процеси.

    7. Створіть будь який файл сценарію за допомогою crontab (використайте команди які ви вивчили, створюйте цікавий файл)

З авдання №2.

    1. Створити файл сценарію (створення файлу lab, який містить файл сценарію: створення зсилки на створений вами файл, копіювання файлів у каталог)

    2. Запустити за допомогою команд at(час вільний), batch, сrontab.

    3. Переглянути процеси ситеми і впевнитися що задані процеси запущені.

    4. Підвищити пріорітет будь – якого процесу.

    5. Перевірити, що процес з підвищеним пріорітетом виконався

    6. Видалити створені вами процеси.

    7. Створіть будь який файл сценарію за допомогою crontab(використайте команди які ви вивчили, створюйте цікавий файл)

Завдання №3.

      1. Створити файл сценарію (копіювання створенного файлу сценарію до створеного вами каталога, очищення каталогу tmp)

      2. Запустити за допомогою команд at(час вільний), batch, сrontab.

      3. Переглянути процеси ситеми і впевнитися що задані процеси запущені.

      4. Підвищити пріорітет будь – якого процесу.

      5. Перевірити, що процес з підвищеним пріорітетом виконався

      6. Видалити створені вами процеси.

    1. Створіть будь який файл сценарію за допомогою crontab(використайте команди які ви вивчили, створюйте цікавий файл)

Довідкова інформація