当前位置:  技术问答>linux和unix

请大家帮我理解/dev/console和/dev/tty这两个文件的区别

    来源: 互联网  发布时间:2016-01-29

    本文导语:  一直不是很明白这两个文件的区别,我的理解是: (1)/dev/console是系统控制终端,系统的错误信息什么的都输出到这里。 (2)/dev/tty(n或者Sn)是进程控制台,如果在进程里打开一个这样的文件且该文件不是其他进...

一直不是很明白这两个文件的区别,我的理解是:
(1)/dev/console是系统控制终端,系统的错误信息什么的都输出到这里。
(2)/dev/tty(n或者Sn)是进程控制台,如果在进程里打开一个这样的文件且该文件不是其他进程的控制终端时,那么该文件就是这个进程的控制终端。那么我们进程printf一个数据就是输出到这里的还是fd=1的标准输出文件?
(3)进程在打开串口时为什么用O_NOCTTY?标志位?

|
我在FreeBSD5.3没有问题哦!
可以把信息上输出到相应得tty上。
只是这句:
write(fd, "hello tty2n", 10);
应该改为:
write(fd, "hello tty2n", 11);

|
在本机上,用户可以使用alt-f1~fn切换控制台,看起来感觉存在多个屏幕,这种虚拟控制台对应tty1~n

但实际上机器只有一个屏幕,也就是我们看到的这个屏幕,对应console。

可以理解为console指向激活的那个tty(详细来说不是,tty0才是激活的那个tty,准确地说是激活的那个tty才将输出显示到console)

历史上,console指主机本身的屏幕键盘,而tty指用电缆链接的其它位置的控制台(仅包含屏幕和键盘)

|
1. 正确
2. 正确
3. 驱动程序用.

|
To: ceasar1134() 
刚才找机器试了,成功了。
过程:
Ctrl+Alt+f1下用root登陆写的这个程序并编译执行。
使用Ctrl+Alt+f2(不是F3)查看。

|
1. 正确
2. 基本正确.
    如果打开的文件是终端设备,在4.4 BSD中并不会把此文件设置设置为控制终端,其它的系统,如果没有设置O_NOCTTY,很可能会设置为控制终端,进程printf一个数据就是输出到这里。
3. 所以如果进程在打开串口时,需要O_NOCTTY标志位,否则有可能把串口设置为控制终端。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • DirectDraw:lpitch的理解
  • 分布式系统的故障独立性如何理解
  • 对TCP协议状态及状态转换理解
  • 套接字应该怎么理解
  • c/c++内存堆分配和栈分配理解
  • 如何理解fork函数返回2次啊?
  • 请问下面一句话应该怎样理解?
  • 句柄?句柄?“句柄”到底是什么东西?怎样理解?
  • unsigned char modeflags :5;是如何来理解?
  • 问一个《深入理解计算机系统》中的问题
  • 深度理解try{}cathc(){}
  • 深入理解PHP内核 TIPI
  • 求最容易理解,最容易上手的java书籍,servlet书籍,请指教,谢谢!!
  • 在JTree中的USEROBJECT有什么用处,我一直不理解?
  • 如何理解ResourceBundle和Locale?和应用的场合?谢谢
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • System.gc();怎么理解?
  • system.map文件的作用和理解
  • sembuf.sem_num到底如何理解?--初学者向各位请教
  • 如何准确理解“程序”、“进程”、“线程”这三个概念
  • makefile这句话应该则怎么理解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3