Учебники

Группы процессов, сессии и управление заданиями

В этой главе мы познакомимся с группами процессов, сессиями и управлением заданиями.

Группа процессовГруппа процессов — это совокупность одного или нескольких процессов. Группа процессов состоит из одного или нескольких процессов, совместно использующих один и тот же идентификатор группы процессов (PGID). Идентификатор группы процессов (PGID) того же типа (pid_t), что и идентификатор процесса. У группы процессов есть лидер группы процессов, который является процессом, который создает группу, и чей идентификатор процесса становится идентификатором группы процессов группы.

Сессии — это набор различных групп процессов.

Управление заданиями — это позволяет пользователю оболочки одновременно выполнять несколько команд (или заданий), одну на переднем плане и все остальные на заднем плане. Также возможно переместить задания с переднего плана на задний план и наоборот.

Давайте разберемся с этим на примере программ / с использованием оболочки (BASH).

  • Сценарий оболочки (в BASH) для выполнения основных команд (date, echo, sleep и cal) с именем basic_commands.sh

  • Сценарий оболочки (в BASH) для выполнения основных команд (ps, echo)

Сценарий оболочки (в BASH) для выполнения основных команд (date, echo, sleep и cal) с именем basic_commands.sh

Сценарий оболочки (в BASH) для выполнения основных команд (ps, echo)

#!/bin/bash
#basic_commands.sh

date
echo "Now sleeping for 250 seconds, so that testing job control functionality is smooth"
sleep 250
cal

#!/bin/bash
#process_status.sh

ps
echo "Now sleeping for 200 seconds, so that testing job control functionality is smooth"
sleep 200
ps

Используйте команду chmod, чтобы дать файлу права на выполнение. По умолчанию обычный файл получит только разрешения на чтение и запись, а не разрешения на выполнение.

Чтобы остановить текущий запущенный процесс, вам нужно нажать CTRL + Z. Это дает вам номер работы. Работа может быть возобновлена ​​либо на переднем плане, либо на заднем плане. При необходимости, чтобы возобновить работу на переднем плане, используйте команду «fg». Если необходимо, чтобы возобновить работу в фоновом режиме, используйте команду «bg». Используя это, он будет запускать только последний остановленный процесс. Что делать, если вы хотите начать, кроме последнего остановленного процесса? Просто используйте номер задания после fg или bg (например, bg% 2 или bg% 3 и т. Д.). Если запущенное задание находится в фоновом режиме, вы можете запускать любые другие задачи на переднем плане. Чтобы получить список вакансий, используйте команду, jobs. Также можно завершить процесс с помощью комбинации клавиш CTRL + C или kill. Вы можете передать номер задания, используя команду kill.

Проверьте следующие выходные данные, которые демонстрируют остановку заданий, перемещение заданий с переднего плана на задний план и наоборот, завершение заданий и т. Д.