加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

函数ttyn(3)返回什么?

发布时间:2020-12-16 09:55:46 所属栏目:百科 来源:网络整理
导读:手册页位于: http://man.cat-v.org/unix-6th/3/ttyn 这个例子: if (ttyn(0) = 'x'){...} 手册页说“如果指示的文件与a不对应,则返回x ?????打字机.” 指示的文件将是参数0,所以标准输入,对吧? 什么是打字机?我的键盘? 你用这条线检查什么? if (ttyn(0)
手册页位于: http://man.cat-v.org/unix-6th/3/ttyn

这个例子:

if (ttyn(0) = 'x'){
...
}

手册页说“如果指示的文件与a不对应,则返回x
?????打字机.”

指示的文件将是参数0,所以标准输入,对吧?

什么是打字机?我的键盘?

你用这条线检查什么?

if (ttyn(0) = 'x')

解决方法

在那个时间点,打字机(或电传打字机或tty)是通过串行端口连接到计算机的RS-232终端.对应于这些端口的/ dev中的设备条目被命名为/ dev / tty0,/ dev / tty1,/ dev / ttya等.这些文件中的每一个都是字符特殊文件,而不是普通文件.

当系统检测到终端时,通常通过调制解调器打开或连接,init进程在新进程中在文件描述符0,1和2上打开设备,并且这些文件描述符在登录过程中持续存在,用户的shell,以及从shell派生的任何进程.

正如您在问题中所说,文件描述符0也称为标准输入.

ttyn函数在其参数上调用fstat,它返回有关文件的一些信息,例如它的inode编号,权限等.然后ttyn读取/ dev,查看以“tty”开头的每个文件,看看哪个文件有与ttyn的参数相同的inode编号.当找到匹配项时,它返回文件名的第4个字符,即“0”,“1”,“a”等.如果未找到匹配项,则返回“x”.

PDP-11上通常有一个控制台和一些8端口串行接口.所以没有ttyx.你可以在/ dev中为任何你想要的设备命名.所以很容易避免/ dev / ttyx是一个真正的设备.

像goto这样的命令可以使用ttyn(0)!=’x’来确定用户是否实际在终端上键入命令.

Here是V6中init使用的默认配置文件/ etc / ttys.控制台是tty8.

在V7 Unix中,ttyn的功能被ttyname取代,ttyname可以容纳更长的设备名称,而isatty则在fle描述符是终端设备时返回true. V7中没有goto命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读