BSD: int ioctl (int tty, TIOCGETPGRP, int * foreground_group);
Linux: int tcgetpgrp (int tty, int * foreground_group);
Linux работает, только если у вас есть права доступа к не принадлежащему терминалу, т. Е. Вы являетесь пользователем root.Это преднамеренная реализация безопасности.BSD ioctl () позволяет любому tty взять любую группу процессов (или даже несуществующие группы процессов) в качестве переднего плана tty.POSIX разрешает доступ только к группам процессов, которые имеют tty в качестве контролирующего tty.Это ограничение запрещает некоторые двусмысленные и подрывающие безопасность случаи, присутствующие в BSD ioctl.
Что вы пытаетесь сделать?Вы должны беспокоиться только об управлении процессами tty, если вы ядро, передающее сигналы.
Редактировать: я забыл / proc
С www.die.net: / proc / [number] / fd Этоподкаталог, содержащий одну запись для каждого файла, который процесс открыл, названный его дескриптором файла, и который является символической ссылкой на фактический файл.Таким образом, 0 - это стандартный ввод, 1 стандартный вывод, 2 стандартные ошибки и т. Д.