Допустим, я открыл окно терминала, которое использует bash
. Группа процессов, к которой принадлежит bash
, является приоритетной группой процессов терминала.
Теперь допустим, что я открыл cat
в терминале, что произойдет, если будет создана новая группа процессов, и cat
будет принадлежать этой группе процессов, , и эта группа процессов теперь станет на переднем плане. группа процессов терминала .
Когда cat
завершается и выполнение возвращается к bash
, группа процессов, к которой принадлежит bash
, снова становится приоритетной группой процессов терминала .
У меня вопрос: как изменилась группа процессов переднего плана терминала за эти два раза, это bash
изменило ее?
Да. Цитируя этот ответ Жиля на U & amp; L :
PGID, связанный с терминалом, можно установить с помощью функции
tcsetpgrp
, которая вызывается функцией shell, когда он запускает внешнюю программу на переднем плане или перемещает задание на передний план с помощьюfg
.