Skip to content

deliriumTBOI/process_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README: Process Management Program

Описание

Данная программа демонстрирует управление процессами в среде Linux с использованием системных вызовов fork, kill, waitpid, а также обработки сигналов. Программа позволяет создавать, удалять и управлять дочерними процессами в интерактивном режиме.

Функциональность

Программа позволяет:

  • Создавать дочерние процессы (+)
  • Удалять последний созданный дочерний процесс (-)
  • Выводить список всех процессов (l)
  • Удалять все дочерние процессы (k)
  • Завершать работу программы (q)

Компиляция и запуск

Для компиляции программы используйте:

gcc -o process_manager process_manager.c

Для запуска:

./process_manager

Управление

После запуска программа принимает следующие команды:

  • + — создать новый дочерний процесс.
  • - — удалить последний созданный дочерний процесс.
  • l — вывести список активных процессов.
  • k — удалить все дочерние процессы.
  • q — завершить выполнение программы.

Основные компоненты кода

Обработчики сигналов

  • alarm_handler — обработка сигнала SIGALRM для управления таймерами.
  • parent_sigusr1_handler, parent_sigusr2_handler — обработка сигналов SIGUSR1 и SIGUSR2 в родительском процессе.

Работа с процессами

  • create_child() — создаёт дочерний процесс, который выполняет бесконечный цикл переключения значений {0,0} и {1,1}.
  • remove_last_child() — удаляет последний созданный дочерний процесс.
  • list_processes() — отображает список всех активных процессов.
  • remove_all_children() — завершает все дочерние процессы.

Работа с терминалом

  • init_terminal() — отключает ввод с буферизацией, чтобы команды вводились без нажатия Enter.
  • restore_terminal() — восстанавливает стандартные настройки терминала.

Возможные улучшения

  • Добавить обработку сигналов в дочерних процессах для корректного завершения.
  • Улучшить логику статистики для дочерних процессов.
  • Добавить больше команд для управления процессами.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors