- •Анотація
- •Лабораторна робота № 1 Перенаправлення уведення-виведення в oc unix. Конвеєри
- •Лабораторна робота № 2 Командна мова ос unix shell
- •Лабораторна робота №3 Процеси в unix
- •Теоретичні відомості:
- •Команди управління процесами
- •Лабораторна робота № 4 Асинхронне видалення дочірніх процесів за допомогою сигналу sigchld. Потоки, що повертають значення
- •Лабораторна робота № 5 Розробка багатофайлових програм Використання утиліти make
- •Лабораторна робота № 6 Взаємодія процесів. Розподілювана пам’ять. Семафори
- •Лабораторна робота № 7 Взаємодія процесів. Програмні канали
- •Лабораторна робота № 8 Розробка графічного інтерфейсу за допомогою бібліотеки Qt3. Створення в kDevelop базової структури додатку
- •Література
Команди управління процесами
Команда ps
Команда ps призначена для виведення інформації про виконуваних у нинішній момент часу процесах.
Дана команда має багато параметрів. Ось найбільш часто використовувані з них:
Параметр |
Опис |
-a |
Відображувати ідображувати всі процеси, пов'язані з терміналом (Відображуються відображуються процеси всіх користувачів) |
-e |
Відображувати всі процеси |
-t список_терминалов |
Відображувати процеси, пов'язані з вказаними терміналами |
-u ідентифікатори _пользователей |
Відображувати відображувати процеси, пов'язані з даними ідентифікаторами |
-g идентификаторы_групп |
Відображувати процеси, пов'язані з даними ідентифікаторами груп |
-x |
Відображувати ідображувати всі процеси, не пов'язані з терміналом |
Наприклад
ps –ax|grep httpd
Буде відображена інформація, про всі процеси, що містять в рядку запуску «httpd».
Команда top
Ця команда призначена для виведення інформації про процеси у реальному часі. Процеси сортуються по максимальному займаному процесорному часу. Команда також повідомляє про вільні системні ресурси. Існує графічний аналог програми top - gtop
Команда nice
Формат використання:
nice [коефіцієнт пониження] команда [аргумент]
Команда nice виконує вказану команду з зниженим пріоритетом, коефіцієнт зниження указується в діапазоні 1.19 (за умовчанням він рівний 10). Суперкористувач може підвищувати пріоритет команди, для цього потрібно вказати негативний коефіцієнт, наприклад -10. Якщо вказати коефіцієнт 19, то він розглядуватиметься розглядуватиметься як 19.
Команда nohup
Формат використання:
nohup команда [аргумент]
Команда nohup виконує запуск команди в режимі ігнорування сигналів. Не ігноруються тільки сигнали SIGHUP і SIGQUIT.
Команда kill
Формат використання:
kill [-номер сигналу] PID
де PID – ідентифікатор процесу, який можна дізнатися за допомогою команди ps.
Команда kill служить для примусового завершення процесу. При цьому процесу з вказаним ідентифікатором (PID) посилається сигнал завершення. Як параметр можна вказати номер сигналу, який слід посилати. За умовчанням відсилається сигнал SIGTERM.
Команди jobs, fg, bg
Команда jobs виводить список процесів, які виконуються у фоновому режимі, fg – переводить процес в нормальний режим ( на передній план - foreground), а bg – у фоновий.
Запустити програму у фоновому режимі можна за допомогою конструкції <команда> &
Завдання 1: Породження процесів. Написати програму, яка:
в результаті виконання породить три процеси (процесс-предок1 і процеси-нащадки2 і 3).
програма повинна виводити на екран ідентифікатори процесів у разі успіху;
виводити на екран повідомлення про неможливість створення процесу.
Завдання 2: Написати програму, яка запускає команду ls –l /, створюючи процес за допомогою системної функції system().
Завдання 3: Написати програму, яка запускає команду ls –l /, використовуючи системні функції fork() і exec().
