현재 제어 터미널과`/ dev / tty` 사이에는 어떤 관계가 있습니까?

Lubuntu 18.04에서는 lxterminal에서 쉘을 실행합니다. 제어 터미널은 현재 의사 터미널 슬레이브입니다.

$ tty
/dev/pts/2

현재 제어중인 터미널 /dev/pts/2/dev/tty.

  1. /dev/tty내 현재 제어 터미널처럼 작동합니다 /dev/pts/2.

    $ echo hello > /dev/tty
    hello
    
    $ cat < /dev/tty
    world
    world
    ^C
    
  2. 그러나 하나가 다른 파일에 대한 심볼릭 링크 또는 하드 링크가 아닌 관련없는 파일 인 것 같습니다.

    $ ls -lai /dev/tty /dev/pts/2
     5 crw--w---- 1 t    tty 136, 2 May 31 16:38 /dev/pts/2
    13 crw-rw-rw- 1 root tty   5, 0 May 31 16:36 /dev/tty
    

제어 터미널이 다른 다른 세션의 경우 제어 터미널 /dev/tty이 보장되는 경우 . 심볼릭 링크 나 하드 링크없이 어떻게 다른 제어 터미널이 될 수 있습니까?

그렇다면 그들의 관계와 차이점은 무엇입니까? 어떤 도움이라도 대단히 감사합니다!

이 게시물은 이전 게시물에서 시작되었습니다. 'tty'명령의 출력과 '/ dev / tty'파일 모두 현재 bash 프로세스의 제어 터미널을 참조합니까?

스티븐 키트

tty섹션 4 맨 페이지 는 다음을 주장합니다.

이 파일 은 / dev / 청각 장애는 보통 모드 0666와 owner.group root.tty를의, 메이저 넘버 5와 마이너 넘버 0 문자 파일입니다. 프로세스의 제어 터미널 (있는 경우)의 동의어입니다.

ioctl(2)tty가 참조하는 장치에서 지원 하는 요청 외에도 ioctl(2)요청 TIOCNOTTY이 지원됩니다.

TIOCNOTTY

제어 터미널에서 호출 프로세스를 분리합니다.

프로세스가 세션 리더 인 경우 SIGHUPSIGCONT신호는 포 그라운드 프로세스 그룹으로 전송되고 현재 세션의 모든 프로세스는 제어 tty를 잃습니다.

ioctl(2)호출은 / dev / tty에 연결된 파일 설명자에서만 작동합니다 . 터미널에서 사용자가 호출 할 때 데몬 프로세스에서 사용합니다. 프로세스는 / dev / tty 를 열려고 합니다. 열기가 성공하면를 사용하여 터미널에서 분리되고 TIOCNOTTY, 열기가 실패하면 터미널에 부착되지 않고 스스로 분리 할 필요가 없습니다.

이것은 /dev/tty제어 터미널에 대한 심볼릭 링크가 아닌 이유를 부분적으로 설명 합니다. 추가를 지원하고 제어 터미널 ioctl이 없을 수도 있습니다 (그러나 프로세스는 항상 액세스를 시도 할 수 있음 /dev/tty). 그러나 문서는 올바르지 않습니다 추가가 ioctl유일한 액세스 할 수 없습니다 를 통해 /dev/tty (참조 mosvy의 대답 도의 본질에 대한보다 합리적인 설명을 제공, /dev/tty).

/dev/tty 이를 구현하는 드라이버가 호출 프로세스의 제어 터미널이있는 경우이를 결정하기 때문에 링크가 아닌 다른 제어 터미널을 나타낼 수 있습니다.

/dev/tty이를 제어 터미널 이라고 생각할 수 있으므로 제어 터미널에만 의미가있는 기능을 제공하는 반면 /dev/pts/2등은 일반 터미널이며 그 중 하나는 주어진 프로세스에 대한 제어 터미널이 될 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

`tty` 명령과`/ dev / tty` 파일의 출력이 모두 현재 bash 프로세스의 제어 터미널을 참조합니까?

분류에서Dev

내 터미널에 어떤 문제가 있습니까?

분류에서Dev

터미널의 종료 명령에 어떤 문제가 있습니까?

분류에서Dev

이 strlen () 구현에 어떤 문제가 있습니까?

분류에서Dev

/ dev / sde3에는 어떤 폴더가 있습니까?

분류에서Dev

이 C ++ 재귀 함수에 어떤 문제가 있습니까?

분류에서Dev

벡터 세트 구현을 사용하는 내 Scheme에 어떤 문제가 있습니까?

분류에서Dev

내 "curry2"구현에 어떤 문제가 있습니까?

분류에서Dev

Quicksort 구현에 어떤 문제가 있습니까?

분류에서Dev

내 bst 구현에 어떤 문제가 있습니까?

분류에서Dev

내 grep OR 표현에 어떤 문제가 있습니까?

분류에서Dev

내 xpath 표현식에 어떤 문제가 있습니까?

분류에서Dev

ConfigurationManager가 현재 컨텍스트에 없습니다. 내 코드에 어떤 문제가 있습니까?

분류에서Dev

내 Java 재귀 함수에 어떤 문제가 있습니까?

분류에서Dev

내 꼬리 재귀 합계 절차에 어떤 문제가 있습니까?

분류에서Dev

Ember.js에서이 관계에 어떤 문제가 있습니까?

분류에서Dev

TTY (예 : / dev / tty1)가 프레임 버퍼 (/ dev / fb0)에 쓰는 것을 어떻게 막을 수 있습니까?

분류에서Dev

ZFS의 한계 뒤에는 어떤 의미가 있습니까?

분류에서Dev

어떤 이미지가 어떤 / dev / loop에 속하는지 찾는 방법은 무엇입니까?

분류에서Dev

내 개체가 현재 어떤 태그에 있는지 어떻게 알 수 있습니까?

분류에서Dev

터미널 제목에 현재 TTY / PTY 표시

분류에서Dev

반 고급 PostgreSQL 쿼리에 어떤 문제가 있습니까? (시간 및 시간 간격 계산과 관련이 있습니다.)

분류에서Dev

이 C 코드 (연결 목록 구현)에 어떤 문제가 있습니까?

분류에서Dev

Yii2에서 네임 스페이스 명명 규칙과 그들이 상주하는 폴더 사이에 어떤 관계가 있습니까?

분류에서Dev

내 CSS 미디어 쿼리에 어떤 문제가 있습니까?

분류에서Dev

터미널 (tty) 출력을 외부에서 어떻게 봅니까? (새 ssh 세션은 아니지만 현재 진행중인 작업)

분류에서Dev

터미널 (tty) 출력을 외부에서 어떻게 봅니까? (새 ssh 세션은 아니지만 현재 진행중인 작업)

분류에서Dev

이 CMAC 계산에 어떤 문제가 있습니까?

분류에서Dev

tty0tty를 사용하여 가상 직렬 포트 (Linux 널 모뎀 에뮬레이터)를 어떻게 설정할 수 있습니까?

Related 관련 기사

  1. 1

    `tty` 명령과`/ dev / tty` 파일의 출력이 모두 현재 bash 프로세스의 제어 터미널을 참조합니까?

  2. 2

    내 터미널에 어떤 문제가 있습니까?

  3. 3

    터미널의 종료 명령에 어떤 문제가 있습니까?

  4. 4

    이 strlen () 구현에 어떤 문제가 있습니까?

  5. 5

    / dev / sde3에는 어떤 폴더가 있습니까?

  6. 6

    이 C ++ 재귀 함수에 어떤 문제가 있습니까?

  7. 7

    벡터 세트 구현을 사용하는 내 Scheme에 어떤 문제가 있습니까?

  8. 8

    내 "curry2"구현에 어떤 문제가 있습니까?

  9. 9

    Quicksort 구현에 어떤 문제가 있습니까?

  10. 10

    내 bst 구현에 어떤 문제가 있습니까?

  11. 11

    내 grep OR 표현에 어떤 문제가 있습니까?

  12. 12

    내 xpath 표현식에 어떤 문제가 있습니까?

  13. 13

    ConfigurationManager가 현재 컨텍스트에 없습니다. 내 코드에 어떤 문제가 있습니까?

  14. 14

    내 Java 재귀 함수에 어떤 문제가 있습니까?

  15. 15

    내 꼬리 재귀 합계 절차에 어떤 문제가 있습니까?

  16. 16

    Ember.js에서이 관계에 어떤 문제가 있습니까?

  17. 17

    TTY (예 : / dev / tty1)가 프레임 버퍼 (/ dev / fb0)에 쓰는 것을 어떻게 막을 수 있습니까?

  18. 18

    ZFS의 한계 뒤에는 어떤 의미가 있습니까?

  19. 19

    어떤 이미지가 어떤 / dev / loop에 속하는지 찾는 방법은 무엇입니까?

  20. 20

    내 개체가 현재 어떤 태그에 있는지 어떻게 알 수 있습니까?

  21. 21

    터미널 제목에 현재 TTY / PTY 표시

  22. 22

    반 고급 PostgreSQL 쿼리에 어떤 문제가 있습니까? (시간 및 시간 간격 계산과 관련이 있습니다.)

  23. 23

    이 C 코드 (연결 목록 구현)에 어떤 문제가 있습니까?

  24. 24

    Yii2에서 네임 스페이스 명명 규칙과 그들이 상주하는 폴더 사이에 어떤 관계가 있습니까?

  25. 25

    내 CSS 미디어 쿼리에 어떤 문제가 있습니까?

  26. 26

    터미널 (tty) 출력을 외부에서 어떻게 봅니까? (새 ssh 세션은 아니지만 현재 진행중인 작업)

  27. 27

    터미널 (tty) 출력을 외부에서 어떻게 봅니까? (새 ssh 세션은 아니지만 현재 진행중인 작업)

  28. 28

    이 CMAC 계산에 어떤 문제가 있습니까?

  29. 29

    tty0tty를 사용하여 가상 직렬 포트 (Linux 널 모뎀 에뮬레이터)를 어떻게 설정할 수 있습니까?

뜨겁다태그

보관