controlling-terminal

init로 호출된 경우 ^C를 intr 신호에 bash 매핑할 수 없는 이유는 무엇입니까?
controlling-terminal

init로 호출된 경우 ^C를 intr 신호에 bash 매핑할 수 없는 이유는 무엇입니까?

bash를 첫 번째 호출 프로세스(즉, init)로 설정하면 결과적으로 다음이 표시됩니다. init: cannot set terminal process group (-1): Inappropriate ioctl for device init: no job control in this shell 그리고 어떤 신호(예: ^C, ^Z)도 작동하지 않습니다. bash-5.1.12의 소스 코드를 읽으면 문제는 job.c4501행의 표현식에 있습니다. (t = tcgetpgrp (shell_tty)) == -1 ...

Admin

C 프로그램의 출력을 /dev/tty에서 /dev/null로 리디렉션하는 방법은 무엇입니까?
controlling-terminal

C 프로그램의 출력을 /dev/tty에서 /dev/null로 리디렉션하는 방법은 무엇입니까?

/dev/tty쓰기를 방지하기 위한 명령줄 옵션이 없는 다음 C 프로그램 예를 생각해 보세요 . #include <stdio.h> int main (void) { FILE* fout = fopen("/dev/tty", "w"); fprintf(fout, "Hello, World!\n"); fclose(fout); } 출력을 /dev/null쉘 스크립트로 어떻게 리디렉션할 수 있나요? PS 나는 읽었다이 답변, 하지만 잘 이해가 안 돼요. 아무튼 프로그램 코드 소스를...

Admin

디스플레이 서버 제어 터미널
controlling-terminal

디스플레이 서버 제어 터미널

Fedora 31 워크스테이션에 로그인하고 ps 명령을 실행하면 다음 출력이 표시됩니다. X 세션의 경우: PID TT CMD ... 1 ? /usr/lib/systemd/systemd --switched-root --system --deserialize 29 ... 820 ? /usr/sbin/gdm 1305 ? gdm-session-worker [pam/gdm-password] 1346 tty2 /usr/libexec/gdm-x-session ...

Admin

X 클라이언트 프로세스에는 항상 하나 이상의 GUI 창이 있습니까?
controlling-terminal

X 클라이언트 프로세스에는 항상 하나 이상의 GUI 창이 있습니까?

X 클라이언트 프로세스에는 항상 하나 이상의 GUI 창이 있습니까? 반대로 프로세스에 하나 이상의 GUI 창이 있으면 X 클라이언트 프로세스입니까? X 클라이언트는 터미널을 제어하지 않습니까? "제어 터미널" 개념은 GUI 창이 없는 프로세스에만 적용됩니까? 감사해요. ...

Admin

현재 제어 터미널과 `/dev/tty` 사이의 관계는 무엇입니까?
controlling-terminal

현재 제어 터미널과 `/dev/tty` 사이의 관계는 무엇입니까?

Lubuntu 18.04에서는 lxterminal에서 쉘을 실행합니다. 제어 터미널은 현재 의사 터미널 슬레이브입니다. $ tty /dev/pts/2 현재 제어 터미널 /dev/pts/2과 /dev/tty. /dev/tty현재 제어 터미널과 같습니다 /dev/pts/2. $ echo hello > /dev/tty hello $ cat < /dev/tty world world ^C 그러나 이 파일들은 서로 심볼릭 링크나 하드 링크라기보다는 관련이 없는 파일인 것 같습니다. $...

Admin

세션 리더가 제어 터미널을 획득하면 세션의 다른 기존 프로세스도 어떻게 제어 터미널을 획득할 수 있습니까?
controlling-terminal

세션 리더가 제어 터미널을 획득하면 세션의 다른 기존 프로세스도 어떻게 제어 터미널을 획득할 수 있습니까?

여러 프로세스가 있고 제어 터미널이 없는 세션이 있다고 가정합니다. 세션 리더가 제어 터미널에 대한 연결을 생성하면, 동일한 세션의 다른 프로세스는 세션에 제어 터미널이 있고 어떻게 제어 터미널도 사용할 수 있나요? 제가 이 질문을 드리는 이유는 다음과 같습니다. 일반적으로 프로세스는 setsid()새 세션을 시작하고 리더가 되기 위해 호출되며 open()제어 터미널에 연결하기 위해 호출됩니다. 그런 다음 세션 리더는 fork()파일 설명자를 제어 터미널에 상속하는 하위 프로세스 처리를 진행...

Admin

아니요.
controlling-terminal

아니요.

Linux 프로그래밍 인터페이스에서 대화형 셸에서 세 개의 파일 설명자 0, 1, 2는 일반적으로 셸이 실행 중인 터미널을 나타냅니다. "쉘이 실행되는 터미널"은 대화형 쉘이 속한 세션의 제어 터미널을 의미합니까? 그렇다면 쉘의 세션에 제어 터미널이 없다면 어떻게 될까요? 쉘이 상위 프로세스에서 생성되면 쉘은 다음 각 경우에 파일 설명자 0, 1, 2와 터미널 사이의 연결(쉘의 상위 프로세스에서 상속됨)을 자동으로 생성합니까? "셸이 실행 중인 터미널"이나 제어 터미널이 0, 1, ...

Admin

"제어 터미널"은 사용자 제어만을 위한 것인가요?
controlling-terminal

"제어 터미널"은 사용자 제어만을 위한 것인가요?

프로세스를 종료하고 를 사용하여 신호를 보낼 수 있으므로 (또는 ) kill이 필요하지 않습니다 . 그럼.. 단지 사용자 푸시에 반응하는 것이 목적인가요 ? 키 입력을 ("이봐, 그만해!")로 번역하고 키보드 뒤의 운영자가 살아 있는지 감지합니까("키보드 분리 - 사람")?controlling terminalcttycontrolling terminalCtrl-CSIGINTSIGHUP 문서'왜 여기에 있지?'라는 질문에 답하지 않는 세부 사항으로 가득 차 있는데, 나 외에는 모두에게 분명합니다. ...

Admin

배경, 좀비, 데몬 및 ctty - 이러한 개념이 관련되어 있습니까?
controlling-terminal

배경, 좀비, 데몬 및 ctty - 이러한 개념이 관련되어 있습니까?

background이러한 프로세스 개념은 , zombie및 daemon와 어떻게 관련됩니까 without controlling terminal? 나는 그들이 어떤 면에서, 특히 통과의 개념에 가깝다고 생각 controlling terminal하지만, 아직 이해하지 못한 채 Linux에 관한 기사를 읽는 아이에게 뭔가를 설명해야 하는 것처럼 이야기할 정보가 많지 않습니다. 너무 많은 거짓말처럼. 업데이트 #1: 예를 들어(사실인지는 모르겠습니다) background-- - 상위 프로세스가 없는 ...

Admin

터미널을 제어하는 ​​프로세스가 없습니다.
controlling-terminal

터미널을 제어하는 ​​프로세스가 없습니다.

제어 터미널 없이 프로세스가 실행되면 어떻게 되나요? 이 프로세스는 표준 프로세스와 어떻게 다릅니까? 어떤 기능을 잃었고 어떤 기능을 얻었나요? 업데이트 #1 이 질문은 중복 가능성이 있는 질문으로 나열되어 있습니다.Unix의 터미널 제어 개념답변이 포함되어 있지 않습니다. 또한 다른 질문은 너무 광범위하여 프로세스 품질에 대해 전혀 언급하지 않았습니다. ...

Admin

키보드 입력은 항상 제어 터미널을 통해 이루어지나요?
controlling-terminal

키보드 입력은 항상 제어 터미널을 통해 이루어지나요?

내 말이 맞습니까? 키보드의 모든 입력은제어 터미널? 이는 프로그램이 제어 터미널 없이 실행되면 사용자 입력을 받을 수 없음을 의미합니다. 이것이 Linux의 모든 프로그램에 적용됩니까? 업데이트 #1: 질문을 명확히하기 위해 내 Python 호출기 모듈표준 입력 리디렉션 시 충돌 발생: $ ./pager.py < README.rst ... File "pager.py", line 566, in <module> page(sys.stdin) File "pager.py",...

Admin

터미널을 제어하지 않고 모든 프로세스를 나열합니까(만)?
controlling-terminal

터미널을 제어하지 않고 모든 프로세스를 나열합니까(만)?

이를 수행하는 휴대용 방법이 있습니까? Linux에서는 가능 ps a -N 하지만 다른 (POSIX) 시스템에서는 이 옵션을 사용할 수 없습니다. 물론 grep '^?'함께 사용할 수 있지만 -o tty,...더 안정적인 것이 있습니까? ...

Admin

제어 터미널의 실제 이름을 얻는 방법은 무엇입니까?
controlling-terminal

제어 터미널의 실제 이름을 얻는 방법은 무엇입니까?

제어 터미널의 실제 이름(있는 경우, 그렇지 않으면 오류 발생)을 경로 이름으로 어떻게 얻습니까? "실명"이란 /dev/tty다른 임의의 프로세스가 이를 사용하여 동일한 터미널을 참조할 수 있다는 의미가 아닙니다. 가능하다면 간단한 쉘 코드(아래 예와 같은)로 답변을 선호하고, 그렇지 않으면 C 함수로 답변하는 것을 선호합니다. 이는 표준 입력이 리디렉션되더라도 작동해야 하므로 tty유틸리티를 사용할 수 없습니다. 이 경우 표준 입력에 연결된 터미널의 파일 이름만 인쇄되기 not a tty때문에 ...

Admin