File: tty.html

package info (click to toggle)
lg-issue33 4-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,292 kB
  • ctags: 137
  • sloc: makefile: 34; sh: 34
file content (171 lines) | stat: -rw-r--r-- 6,207 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head>
<META NAME="generator" CONTENT="lgazmail v1.1preC">
<TITLE>The Answer Guy 33: 
	Psuedo tty Becomes Unusable</TITLE> 
<!-- ORIGINAL SUBJECT:
tty help 
JTD SUBTITLE:

-->
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H1 align="center"><A NAME="answer">
	<img src="../../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
	<a href="../index.html">The Answer Guy</a>
	<img src="../../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1> 
<BR>
<H4 align="center">By James T. Dennis,
	<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a>
	<BR>Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A> 
</H4>
<p><hr><p>
<!--endcut ========================================================= -->
<H3><img src="../../gx/dennis/qbub.gif" alt="(?)"
width="50" height="28" align="left" border="0"
>Psuedo tty Becomes  Unusable</H3>
<p><strong>From Scott R. Every on 21 Sep 1998</strong></p>
<!-- begin body -->


<p><strong>
i have a system which has been running for a while(actually a
number of systems) after a bit the ttyp0 port is no longer
available when telnetting in.  it doesn't list anywhere as being
used, but it doesn't work!
</strong></p>


<p><strong>
can you offer any suggestions?
</strong></p>

<p><strong>
thanx
<br>s
</strong></p>

<blockquote><img src="../../gx/dennis/qbub.gif" alt="(?)"
width="50" height="28" align="left" border="0"
>Try the '<tt>lsof</tt>' command.  That should find out which 
process is using it.
</blockquote>


<blockquote>
The <tt>/dev/ttyp*</tt> devices are for "psuedo" tty's --- these
are used by rlogind, telnetd, xterms, screen and many
other programs.  There are usually <EM>many</EM>  of these 
psuedo tty's on a system.
</blockquote>


<blockquote>
Normally a daemon that uses a psuedo tty searches through
the list and uses the first one that it can open.  There 
is another approach used by some other forms of Unix --- and
supported in recent kernel whereby the daemon makes a request
of a sort of "dispatcher" device which then provide it with
the number of the next available pty/ttyp device.  This is
referred to as "Unix '98 PTYs Support" in the linux kernel
-- and I've heard it referred to as "ptmx" (psudo-tty
multiplexing, or something like that). In the case of the 
Linux implementation the pty's can be dynamically generated
under the "pts" virtual filesystem (which is a bit like 
the <tt>/proc</tt> filesystem in that it doesn't exist on a "disk"
anywhere --- it simply provides a filesystem abstraction of
the system's in memory data structures).  Linux 2.2 will
also probably support a "/devfs" --- another virtual 
filesystem which makes all of the entries under /dev into
dynamic entries.
</blockquote>


<blockquote>
Of course, none of that applies to your situation.  That's
just the "vaporware report" on the future of the Linux
kernel. 
</blockquote>


<blockquote>
If there really is no process that still owns the ttyp0
in your case then it might be a bug in your kernel.  
I'd check the permissions of the device node to see if 
they are changing (or to see if there is something that's
just blowing the device node away), then I'd look through 
the "Change Logs" for the recent 2.0.3x kernels.  It might
be that you are bumping into one of the bugs that Alan
Cox and crew have been fixing.  If you aren't running a 
2.0.35 or 2.0.36 kernel --- consider trying it to see
if that solves the problem.
</blockquote>


<blockquote>
To be honest I haven't seen a good description of the
whole pty*/ttyp* mess or a decent explanation of what 
problems the Unix '98 ptmx design is supposed to solve.
I've heard that pty's and ttyp's are paired off in 
"master/slave" pairs that have something to do with 
providing different device nodes for control (ioctl()?)
and communications over the channel.  If any of our 
readership knows of a good treatise on the topic, please
pass me a pointer or mail me a copy.
</blockquote>


<!-- end body -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
	>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 33 October 1998</H5>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<table width="98%"><tr valign="center" align="center">
<td rowspan="3"><A HREF="../lg_answer33.html"><IMG
        SRC="../../gx/dennis/answernew.gif"
        ALT="[ Answer Guy Index ]"></A></td>
  <td><A HREF="floppy.html">floppy</a>
  <td><A HREF="autocad.html">autocad</a>
  <td><A HREF="scsi.html">scsi</a>
  <td><A HREF="samba_pdc.html">samba_pdc</a>
  <td><A HREF="virthost.html">virthost</a>
</tr><tr valign="center" align="center">
  <td><A HREF="emacs_cc.html">emacs_cc</a>
  <td><A HREF="ipmasq.html">ipmasq</a>
  <td><A HREF="tty.html">tty</a>
  <td><A HREF="shuffle.html">shuffle</a>
  <td><A HREF="connect.html">connect</a>
</tr><tr valign="center" align="center">
  <td><A HREF="hostavail.html">hostavail</a>
  <td><A HREF="desqview.html">desqview</a>
  <td><A HREF="catch22.html">catch22</a>
  <td><A HREF="thanks2.html">thanks2</a>
  <td><A HREF="typo.html">typo</a>
</tr></table>
<P> <hr> <P>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
<A HREF="../index.html"><IMG SRC="../../gx/indexnew.gif"
        ALT="[ Table Of Contents ]"></A>
<A HREF="../../index.html"><IMG SRC="../../gx/homenew.gif"
        ALT="[ Front Page ]"></A>
<A HREF="../lg_bytes33.html"><IMG SRC="../../gx/back2.gif"
        ALT="[ Previous Section ]"></A>
<A HREF="../vrenios.html"><IMG SRC="../../gx/fwd.gif"
        ALT="[ Next Section ]"></A>
<!--::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-->
</body>
</html>
<!--endcut ========================================================= -->