收藏 分销(赏)

守护进程和设备文件.doc

上传人:仙人****88 文档编号:8921945 上传时间:2025-03-08 格式:DOC 页数:5 大小:297.50KB
下载 相关 举报
守护进程和设备文件.doc_第1页
第1页 / 共5页
守护进程和设备文件.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
(一) 设备文件概述 分成3类: 字符设备; 块设备; 网络接口; 主设备号:同一种类型的设备; 从设备号:使用相同设备的不同设备。例如,/dev/hda1; /dev/hda2 vfs层提供了统一的访问接口。包括read,write等操作。 mknode /dev/newchar c 123 0 用户进程 | 文件系统 | 设备驱动程序 | 设备控制器 | 硬件 设备控制器:ide,usb控制器,usb控制器,myrinet网卡 设备的地址空间:内存接口,pci接口,IO地址 (二) 终端设备:tty 传统的终端设备:键盘+控制器+显示器,没有cpu单元和内存单元 1. 串行端口设备:/dev/ttyS0==com0,/dev/ttyS1,com1,com2 可以串口做实验 2. 伪终端:/dev/pts/n master和slave设备, telnet Server ---login --- pty ---ttyp(从设备) <---- 远程telnet客户端 控制终端: /dev/ttyN,tty1—tty7是实际的终端,tty0是当前控制终端, 例,在securecrt上,cat >/dev/tty0,在当前控制终端上有显示; 3. 控制台终端: console=/dev/ttyS0 说明: (1) ps –au 命令显示哪些进程运行在哪个终端上; (2) 进程 –> 终端 –> 键盘, 把程序和输入设备隔开。 (3) 只能向前台进程组发信号;守护进程不受终端的控制; (4) 进程的工作环境包括:环境变量表,工作目录,打开的文件,控制终端 (5) /dev/tty, cat >/dev/tty (6) ->getty à login -> sh -> .profile(配置文件) 命令: stty –a 终端的设置信息 reset:重置把终端恢复到正常状态。 例子:显示终端的标准输入,标准输出,标准错误的名字. P6.1.C tcgetattr函数和tcsetattr函数 tcflag_t c_iflag; /* input modes */ tcflag_t c_oflag; /* output modes */ tcflag_t c_cflag; /* control modes */ tcflag_t c_lflag; /* local modes */ cc_t c_cc[NCCS]; /* control chars */ option.c_lflag设定模式 规范模式,面向行的输入方式,输入字符被放入用于和用户交互可以编辑的缓冲区内,直接到读入回车或者换行符号时才结束。 option.c_lflag |= (ICANON | ECHO | ECHOE); ICANON:Enable canonical mode. This enables the special characters EOF, EOL, EOL2, ERASE, KILL,LNEXT, REPRINT, STATUS, and WERASE, and buffers by lines. ECHOE: ICANON生效时,ECHOE为1,使能 If ICANON is also set, the ERASE character erases the preceding input character, and WERASE erases the preceding word 原始输入模式 原始输入模式是没有处理过的,当接收数据时,输入的字符在它们被接收后立即被传送,使用原始输入模式时候,一般可以选择取消ICANON,ECHO,ECHOE和选项。 option.c_lflag &= ~(ICANON | ECHO | ECHOE); 示例2,修改控制终端的属性 p6.2.c 示例3,解决密码的回显问题 set_disp_mode(STDIN_FILENO,0); ///0是关闭回显 #define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL) ///设定显示标志 例子: (三) 串口通讯: 每秒波特率:57600bit,每秒钟采样57600Hz。 数据位:通常是8位 奇偶校验:0 停止位:1bits 软硬流控都设置为0 打开串口,使用O_NOCTTY cfsetispeed:设置串口的波特率 int cfsetispeed(struct termios *termios_p, speed_t speed); 从man cfsetispeed中,可以看到的常见的波特率信息 设置数据位设置的技巧: 作业:通过串口读写; (四)环境变量 name=”xiejun” echo $name; unset name; export 出来的环境变量,是可被子进程继承的。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服