2001-07-05 07:37:10

by Taral

[permalink] [raw]
Subject: tty->name conversion?

I noticed that ps still relies on device numbers to determine tty, since
/proc/*/stat only exports the device number. Is there any way to get the
device name? I noticed that it is not present in tty_struct anywhere
(proc_pid_stat() uses task->tty->device, which is a kdev_t).

This would be useful to consider if we ever intend to create real
unnumbered character/block devices.

--
Taral <[email protected]>
(This message is digitally signed. Please encrypt mail if possible.)
"Any technology, no matter how primitive, is magic to those who don't
understand it." -- Florence Ambrose


Attachments:
(No filename) (583.00 B)
(No filename) (240.00 B)
Download all attachments

2001-07-13 17:43:36

by Albert D. Cahalan

[permalink] [raw]
Subject: Re: tty->name conversion?

Taral writes:

> I noticed that ps still relies on device numbers to determine tty, since
> /proc/*/stat only exports the device number. Is there any way to get the
> device name? I noticed that it is not present in tty_struct anywhere
> (proc_pid_stat() uses task->tty->device, which is a kdev_t).
>
> This would be useful to consider if we ever intend to create real
> unnumbered character/block devices.

This isn't quite true, at least for the version shipped with Debian.

The non-existant /proc/*/tty link is examined first. This is
because several people have agreed that such a link would be
good, even though it is difficult to implement with the current
code. I think viro, hpa, and tytso have all looked into this.

The ps code also looks at /proc/*/fd/* when possible. This often
gives a real filename. Otherwise, ps has to guess a name based
on the device number and either a hard-coded table or information
from /proc/tty/drivers.

2001-07-13 19:34:41

by Taral

[permalink] [raw]
Subject: Re: tty->name conversion?

On Fri, Jul 13, 2001 at 01:43:16PM -0400, Albert D. Cahalan wrote:
> Taral writes:
>
> > I noticed that ps still relies on device numbers to determine tty, since
> > /proc/*/stat only exports the device number. Is there any way to get the
> > device name? I noticed that it is not present in tty_struct anywhere
> > (proc_pid_stat() uses task->tty->device, which is a kdev_t).
> >
> > This would be useful to consider if we ever intend to create real
> > unnumbered character/block devices.
>
> This isn't quite true, at least for the version shipped with Debian.

<snip>

Thanks for your reply. It still remains, however, that for processes
that you do not own, it has to guess, viz:

319 taral vc/1 S Jul12 -zsh
320 root tty2 S Jul12 /sbin/getty 38400 vc/2

Notice that the getty is listed as tty2, even though it opened
/dev/vc/2.

--
Taral <[email protected]>
This message is digitally signed. Please PGP encrypt mail to me.
"Any technology, no matter how primitive, is magic to those who don't
understand it." -- Florence Ambrose


Attachments:
(No filename) (1.04 kB)
(No filename) (240.00 B)
Download all attachments