
- •Лабораторна робота №2.
- •Процеси Linux
- •Робота з багатьма процесами
- •Планування запуску команд
- •Планування виконання за допомогою сron і crontab
- •Інформація про стан процесів
- •Моніторинг процесів за допомогою ps
- •Одержання додаткової інформації про процеси
- •Використання команди nohup
- •Зміна пріоритету команд за допомогою nice
- •Зміна пріоритету працюючого процесу за допомогою renice
- •Припинення процесу за допомогою команди kill
- •Нормальнеє завершення фонового процесу
- •Безумовне припинення фонового процесу
- •Завершення усіх фонових процесів
- •Хід роботи
- •Запуск команд у визначений час за допомогою команди at
- •Планування виконання за допомогою сron і crontab
Безумовне припинення фонового процесу
При виконанні команда 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. Захистіть роботу.
Контрольні запитання .
Процеси ситеми Linux, наведіть команди і принцип їх роботи
Яким чином переглянути процеси системи, видалити запущені процеси
Яким чином відрізнити батьківський процес від дочірнього процесу
Охарактеризуйте команди для роботи з процесами в Linux (у вигляді таблиці: командаописприкладпояснення)
Приклад: at запуск команд у визначений часat 1:23 cp /usr/sales/reports.txt/ /home/p2& копіювання файлу reports.txt у каталог /home/p2 у фоновому режимі в 01 годині 23 хвилини)
Охарактеризуйте всі команди з даної лабораторної роботи (у вигляді таблиці: командаописприкладпояснення)
Примітка: Приклади наводити власні, і не займатися плагіатом, використовуючи з вправ та лабораторної роботи. За піратські дії, залік за лабораторну роботу – двійка.
Які команди використовуються лише суперкористувачем. Які команди використовуються звичайним користувачем. Де можливо переглянути інформацію про дозвіл на використовування команд користувачами. Чи можливо змінити дану ситуація, яким чином. Навести приклад.
Яким чином працюють команди at, bath, crontab
Поясніть різницю між файлами 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.
Створити файл сценарію (видалення файлів з домашнього каталогу; створення каталогу та файлу який буде містити файл сценарію, копіювання файлу у каталог)
Запустити за допомогою команд at(час вільний), batch, сrontab.
Переглянути процеси ситеми і впевнитися що задані процеси запущені.
Підвищити пріорітет будь – якого процесу.
Перевірити, що процес з підвищеним пріорітетом виконався
Видалити створені вами процеси.
Створіть будь який файл сценарію за допомогою crontab (використайте команди які ви вивчили, створюйте цікавий файл)
З авдання №2.
Створити файл сценарію (створення файлу lab, який містить файл сценарію: створення зсилки на створений вами файл, копіювання файлів у каталог)
Запустити за допомогою команд at(час вільний), batch, сrontab.
Переглянути процеси ситеми і впевнитися що задані процеси запущені.
Підвищити пріорітет будь – якого процесу.
Перевірити, що процес з підвищеним пріорітетом виконався
Видалити створені вами процеси.
Створіть будь який файл сценарію за допомогою crontab(використайте команди які ви вивчили, створюйте цікавий файл)
Завдання №3.
Створити файл сценарію (копіювання створенного файлу сценарію до створеного вами каталога, очищення каталогу tmp)
Запустити за допомогою команд at(час вільний), batch, сrontab.
Переглянути процеси ситеми і впевнитися що задані процеси запущені.
Підвищити пріорітет будь – якого процесу.
Перевірити, що процес з підвищеним пріорітетом виконався
Видалити створені вами процеси.
Створіть будь який файл сценарію за допомогою crontab(використайте команди які ви вивчили, створюйте цікавий файл)
Довідкова інформація