Page 34 - 4820
P. 34
режимі (команда bg). Завдання мають свої номери. Переглянути їх можна за допомогою
команди jobs.
Важливою можливістю є запуск певних завдань за розкладом. Це реалізується за
допомогою програми-демона crond, який переглядає свої файли crontab (окремі для
кожного користувача) і запускає завдання згідно розкладу від імені того користувача, в
файлі якого це завдання задано. Для зміни розкладу завдань треба відредагувати файл
crontab і після цього перезапустити crond, що може зробити лише root та ті користувачі,
яким це право надано. Останнім рекомендується для цього користуватись командою
crontab, яка після редагування автоматично перезапускає crond.
Користувачу дозволено виконувати команду crontab тільки за умови, що його
ім’я зустрічається в файлі cron.allow і не зустрічається в файлі cron.deny (в різних
системах Unix ці файли можуть знаходитись в різних каталогах, наприклад /usr/lib/cron/
або /etc/cron.d/). Якщо обидва файли відсутні, то тільки root може користуватись
командою crontab. Якщо cron.allow не існує, cron.deny існує, але не містить імен, то
використовувати команду crontab дозволено усім. Файли cron.allow і cron.deny повинні
містити по одному імені в рядку.
Існує спеціальна команда at, яка призначена для одноразового виконання заданої
команди в будь-який заданий час. Правила дозволу і заборони користування командою
at аналогічні crontab (файли at.allow і at.deny). Завдання, що задані командою at,
виконуються тим же демоном crond.
6.2 Хід роботи
1. Переглянути список процесів користувача (Вас).
2. Переглянути повний список процесів, запущених у системі. При цьому
гарантувати збереження інформації від "утікання" з екрана (якщо процесів багато).
Звернути увагу на ієрархію процесів. Простежити через поля PID і PPID всю ієрархію
процесів тільки-но запущеної команди, починаючи з початкового процесу init. Звернути
увагу на формування інших полів виводу.
3. Запустити ще один shell. Переглянути повний список процесів, запущених
вами, при цьому зверніть увагу на ієрархію процесів і на їхній зв'язок з терміналом.
Використовуючи команду kill, завершити роботу в цьому shell’і.
4. Переглянути списо к задач у системі і проаналізувати їхній стан.
5. Запустити фоновий процес командою find / -name "*.c" -print > file 2> /dev/null
6
& . Визначити його номер. Відправити сигнал призупинення процесу. Переглянути
список задач у системі і проаналізувати їхній стан. Продовжити виконання процесу.
Знову переглянути список задач у системі і проаналізувати його зміну. Перевести
процес в активний режим, а потім знову у фоновий. Запустити цей процес із
пріоритетом 5.
6. Вивести на екран список усіх процесів, запущених не користувачем root.
7. Організувати вивід на екран календаря <1996+№варіанту> року через 1
хвилину після поточного моменту часу.
8. Організувати періодичне (щоденне) видалення в домашньому каталозі усіх
файлів з розширенням *.bak і *.tmp.
6 Увага! Ця команда коректно працює в оболонках sh і bash, і не працює коректно у оболонках csh і
tcsh (це пов’язано з правилами перенаправлення потоку помилок, див. Лабораторну роботу №5).
32