下列4个函数提供了终端设备的行控制能力。其中,filedes引用一个终端设备,否则出错返回,errno设置为ENOTTY。

#include <termios.h>

int tcdrain(int filedes);

int tcflow(int filedes, int action);

int tcflush(int filedes, int queue);

int tcsendbreak(int filedes, int duration);

四个函数返回值:若成功则返回0,出错则返回-1

tcdrain函数等待所有输出都被发送。

tcflow用于对输入和输出流控制进行控制。action参数应当是下列四个值之一:

TCOOFF 输出被挂起。

TCOON 重新启动以前被挂起的输出。

TCIOFF 系统发送一个STOP字符。这将使终端设备暂停发送数据。

TCION 系统发送一个START字符。这将使终端恢复发送数据。

tcflush函数刷清(抛弃)输入缓冲区或输出缓冲区。输入缓冲区中的数据是终端驱动程序已收到,但用户程序尚未读的;输出缓冲区中的数据是用户程序已经写,但尚未发送的。queue参数应当是下列三个常量之一:

TCIFLUSH 刷清输入队列。

TCOFLUSH 刷清输出队列。

TCIOFLUSH 刷清输入、输出队列。

tcsendbreak函数在一个指定的时间区内发送连续的0位流。若duration参数为0,则此种发送延续0.25至0.5秒之间。POSIX.1说明若duration非0,则发送时间依赖于实现。

转载于:https://www.cnblogs.com/nufangrensheng/p/3576782.html

终端I/O之行控制函数相关推荐

  1. Ubuntu 在终端下使用命令行打开pdf文件

    终端下使用命令行打开pdf文件 > evince  <文件名>& 使用evince命令在后台打开 使用鼠标打开感觉怪怪的

  2. Mac电脑使用终端快速进入mysql命令行的方法(超详细)

    Mac 快速进入mysql命令行 平时在Windows下安装一些软件是需要配置环境变量才可以在命令行窗口打开,那么在MAC下该如何操作呢? 以下是Mac电脑通过终端进入mysql命令行的两种方法: 1 ...

  3. Ubuntu下命令行加速、终端加速、命令行代理的方法/proxychains安装与使用

    Ubuntu下命令行加速.终端加速.命令行代理的方法/使用proxychains 前提:已经安装并配置好代理/FQ工具. 实现方法:通过安装配置proxychains4实现,即是将任何程序和代理工具的 ...

  4. 终端界面 进程 I/O 控制函数

    7.2  通用终端界面控制函数 本条描述用于控制通用终端功能的函数.如果实现支持作业控制,那么,除非对某一命令另有说明,否则这些函数不能由后台进程使用.企图执行这些操作将导致向该进程组发送一个SIGT ...

  5. linux中如何自定义命令行,linux终端颜色和命令行自定义

    1.命令行格式 用户名@主机名:当前路径$ 设置 echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;04;32m\]\u\[\03 ...

  6. 安卓模拟器安装教程_安卓终端模拟器-安卓命令行入门教程系列(新手的福利)

    1,概述 终端模拟器类似于linux中的shell,是系统中的命令行模式.在桌面上能做的事情在命令行下也能做.比如 基本功能: A,打电话,发短信,打开网页 B,运行程序,安装卸载程序,改变程序安装位 ...

  7. 在kali中打开终端模拟器—使用命令行

    首先要进入你的kali 打开系统左上角的主菜单→打开全部应用程序→终端模拟器 如图 如果你找了半天也没看到 注意有一个搜索栏 可以搜索一下 如图 这样你就成功打开终端模拟器了 打开以后是这个样子 如图

  8. 终端执行php,命令行执行php语句

    php有很多功能强大的系统函数,使用起来业非常的简单.比如获取一个文件的希哈值,只需要调用一下md5_file函数就解决了.但是一般都需要新建一个php文件,写入代码,执行php文件一系列操作才能得到 ...

  9. linux的终端下的命令行管道|的简单实现

    两个文件:a.c和b.c a.c内容: #include <stdio.h> #include <stdlib.h>int main(int argc, char *argv[ ...

最新文章

  1. oracle批量加载,Oracle教程:使用SQL*Loader高速批量数据加载工具
  2. 再见了,收费的Navicat
  3. 北斗导航 | 北斗系统信息处理创新技术(学术PPT分享附视频)
  4. android blockcanary 原理,blockCanary原理
  5. BugkuCTF-Crypto题你喜欢下棋吗
  6. 深入分析Java Web技术内幕 修订版 pdf
  7. 数据库改名方法-第三种脚本
  8. 获取salve设备地址_商机 | 优选设备,让废金属加工更高效!
  9. 模板 - 数学 - 数论 - 扩展欧几里得算法
  10. 批量删除数据库表数据 备份
  11. python分布式爬虫_python-分布式爬虫
  12. TCP数据的传输过程
  13. oracle 数据库er生成,oracle数据库生成er图
  14. 如何用微pe+msdn进行纯净重装Windows系统
  15. android 极简浏览器,盘点最干净简洁的手机浏览器,到底哪个最好用?
  16. java 替换emoji表情,java 替换掉emoji表情
  17. java 中的连接超时_【java中处理http连接超时的方法】
  18. Excel如何从单元格中提取中文汉字
  19. arccotx图像在matlab,arccotx图像(cotx的定义域和图像)
  20. vw css什么单位,CSS vw单位

热门文章

  1. 重学java基础第十八课:卸载jdk和安装jdk
  2. 前端学习(3080):vue+element今日头条管理-发布文章功能介绍
  3. [html] html中p标签内为何不能嵌套div标签?
  4. [css] 写例子说明如何强制(自动)中、英文换行与不换行
  5. [css] 怎么实现移动端的边框0.5px?
  6. 前端学习(2802):完成资讯页面详情
  7. 前端学习(2690):重读vue电商网站11之使用树形控件 el-tree
  8. “约见”面试官系列之常见面试题之第九十篇之页面加载触发函数(建议收藏)
  9. 前端学习(1924)vue之电商管理系统电商系统之权限的渲染方式
  10. 前端学习(763):变量属性函数方法的区别