Лабораторная работа №4 (сигналы).

Задание

Разработать программу textsort, которая сортирует слова в тестовом файле, переданном ей параметром командной строки, в лексикографическом порядке (см. ЛР №2 с предыдущего полугодия). Программа должна раз в секунду выводить на терминал текущий приоритет, долю проделанной за секунду работы и общий объем проделанной работы (в процентах). По окончании работы программа переходит в режим ожидания сигнала SIGQUIT. Программа должна обеспечивать следующую реакцию на сигналы:
  1. SIGUSR1 - понижение приоритета до минимального уровня
  2. SIGUSR2 - повышение приоритета до максимального уровня
  3. SIGCONT - ввостановление приоритета до первоначального значения
  4. SIGINT - приостановка или возобновление сортировки файла (НЕ ПРОЦЕССА!). Если программа находится в режиме ожидания (сортировка завершена) то данный сигнал обеспечивает рестарт сортировки.
  5. SIGQUIT - Если программа находится в режиме ожидания (сортировка завершена) то данный сигнал обеспечивает завешение работы с выводом
    1. Общего времени выполнения программы
    2. Времени работы и процента проделанной работы с максимальным приоритетом
    3. Времени работы и процента проделанной работы с первоначальным приоритетом
    4. Времени работы и процента проделанной работы с минимальным приоритетом
    5. Времени простоя (в результате обработки SIGINT)
    В противном случае SIGQUIT игнорируется.
Все остальные сигналы (кроме немаскируемых) должны игнорироваться программой