Процесс оболочки не имеет дескриптора главного файла, только ведомого.
Родительский процесс оболочки (будь то sshd или xterm или экран или что-то еще) создает новый мастер, вызывая getpt(3)
или posix_openpt(3)
. Функция возвращает дескриптор главного файла. Затем родительский процесс получает дескриптор подчиненного файла, вызывая комбинацию из grantpt(3)
, unlockpt(3)
, ptsname(3)
и open(2)
. Это для Linux и других POSIX-систем, другие * nixes могут использовать другие функции, но результат сети тот же. Родительский процесс имеет пару master/slave дескрипторов файлов.
Только подчиненный дескриптор и только подчиненный дескриптор передаются в оболочку как стандартный вход, выход и ошибка.
довольно хороший спасибо n.m. – bazz