내가 읽고있다유닉스 전동 공구예약하고 ps
주문을 만났습니다. ps x
책에 제공된 명령의 출력은 다음과 같습니다.
PID TTY STAT TIME COMMAND
18034 tty2 S 0:00 -zsh
18059 ? S 0:01 ssh-agent
18088 tty2 S 0:00 sh /usr/X11R6/bin/startx
18096 tty2 S 0:00 xinit /etc/X11/xinit/xinitrc -- :0 -auth /home/jpeek/
18101 tty2 S 0:00 /usr/bin/gnome-session
18123 tty2 S 0:33 enlightenment -clientId default2
18127 tty2 S 0:01 magicdev --sm-client-id=default12
18141 tty2 S 0:03 panel --sm-client-id default8
18145 tty2 S 0:01 gmc --sm-client-id default10
18166 ? S 1:20 gnomepager_applet --activate-goad-server gnomepager_a
18172 tty2 S 0:01 gnome-terminal
18174 tty2 S 0:00 gnome-pty-helper
18175 pts/0 S 0:00 zsh
18202 tty2 S 0:49 gnome-terminal
18203 tty2 S 0:00 gnome-pty-helper
18204 pts/1 S 0:01 zsh
18427 pts/1 T 0:00 man zshjp
18428 pts/1 T 0:00 sh -c /bin/gunzip -c /home/jpeek/.man/cat1/zshjp.1.gz
18430 pts/1 T 0:03 /usr/bin/less -is
18914 pts/1 T 0:02 vi upt3_changes.html
1263 pts/1 T 0:00 vi urls.html
1511 pts/1 T 0:00 less coding
3363 pts/1 S 0:00 vi 1007.sgm
4844 tty2 S 0:24 /usr/lib/netscape/netscape-communicator -irix-session
4860 tty2 S 0:00 (dns helper)
5055 pts/1 R 0:00 ps x
누군가 이 출력을 디코딩하는 데 도움을 줄 수 있습니까? pts/0
은 무슨 뜻인가요 pts/1
?
- 내가 찾을 수 있는 건
pts
담당자 뿐이야"의사 터미널 슬레이브"pts/0
, 하지만 뒤에 있는 차이점을 이해할 수 없었습니다pts/1
. ?
왜 in 열이 있나요TTY
?tty
이 프로세스가 알려지지 않은 이유는 무엇 입니까?- 다양한 Gnome 애플리케이션의 의미는 무엇입니까?그놈-Pty-도우미그리고gnopager_applet?
매우 감사합니다.
답변1
- 이는 의사 터미널의 다른 인스턴스입니다. 예를 들어 터미널 창에서는 서로 다른 탭입니다.
TTY가 없습니다. 프로세스가 tty에서 분리되었습니다. TIOCNOTTY ioctl() 또는 setid()를 사용하십시오. 전통적으로 이는 터미널에서 로그아웃할 때 SIGHUP에 의해 자동으로 종료되지 않는 백그라운드 프로세스(일명 "데몬")가 되도록 수행되었습니다. (이 경우 gnome 프로세스라면 아마도 다른 메커니즘에 의해 종료될 것입니다.)
systemd
또는 서비스에 대해 시작된 프로세스 와 같이 시작할 TTY가 없을 수도 있습니다 .
답변2
과거에는 터미널이 직렬 포트에 연결된 물리적 장치였습니다. 이것들은 로 나타납니다 /dev
.
출력 결과를 보면 Linux를 실행 중이므로 두 가지 유형의 "가상" 터미널이 있습니다. 첫 번째 그룹은 모니터를 통해 연결됩니다. Linux는 여러 항목을 생성하며 다음을 사용하여 전환할 수 있습니다.Ctrl+Alt+Fn. tty0
, tty1
등이 있습니다 .
그럼 컨셉이 있겠지의사 터미널. ssh
시스템에 연결하는 데 사용되는 각 세션과 각 (Gnome) X 터미널 세션마다 하나씩 필요합니다. 이는 "pts/n" 이름입니다. 자세히 알아보려면 "의사 터미널"을 검색하세요.
따라서 위 출력은 다음과 같이 알려줍니다. 그래픽 세션이 두 번째 가상 터미널(Ctrl+Alt+F2). 두 개의 그놈 터미널 pts/0
과 pts/1
.
다음을 사용하여 새 VT를 열어보십시오.Ctrl+Alt+F1로그인한 다음 터미널 3과 4에서 반복하세요. 이 작업을 수행할 때마다 ps -ef
해당 터미널에서 실행 중인 프로세스가 표시됩니다.
백그라운드 프로세스에는 연결된 터미널이 없으며 ?
TTY 열에 나타납니다.