Есть ли какие-либо соображения по поводу установки Oracle, которые необходимо выполнить при установке ОС?

Это мастер-устройство псевдотерминала в Linux. Но xterm использует функцию POSIX для открытия псевдотерминала, которая скрывает детали открытия устройства.

Существуют различные конфигурации псевдотерминалов, но, скорее всего, ваша система использует этот фрагмент:

#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY)
    if ((*pty = posix_openpt(O_RDWR)) >= 0) {
    char *name = ptsname(*pty);
    if (name != 0) {
        strcpy(ttydev, name);
        result = 0;
    }
}

VTE (фактический эмулятор терминала: «gnome-terminal» — это фасад ) использует нечто подобное (см. src/pty.cc).

На практике нет необходимости продолжать использование файлового дескриптора для главного устройства. xterm работает как два процесса и использует этот файловый дескриптор в своем «родительском» процессе. Он отбрасывает файловый дескриптор главного устройства в своем «дочернем» процессе (см. источник).

Когда вы запускаете xterm, дочерний процесс — это тот, с которым общается ваша оболочка, например, если вы запустите tty , чтобы увидеть, какой терминал вы используете (то есть используете ведомая сторона псевдотерминала, а сторона ведущая закрыта, поскольку каждому процессу нужно работать только с одной стороной псевдотерминала).

родительский процесс (который имеет открытый /dev/ptmx) управляет отображением окна X.

Учитывая все это, я ожидаю, что lsof покажет, что xterm открыт /dev/ptmx.За исключением:

  • на ваших снимках экрана, сообщение намекает, что вы не работаете как root, и если есть проблема с разрешениями для lsof, которая не позволяет ему видеть все процессы , то это может объяснить недостающую информацию.
  • ваш xterm на самом деле не работает на машине, на которой вы используете lsof, например, если вы подключились к машине по ssh (и вы видите gnome-terminal выполняется в другом сеансе).

1
13.04.2017, 15:43
0 ответов

Теги

Похожие вопросы