tty相关内容

如何将串行控制台的输出(例如/dev/ttyS0)重定向到缓冲区或文件

是否可以将串行控制台输出传递到文件,缓冲区或某些虚拟或伪设备(在/dev中)? 内核命令行此时已启动"console = null,115200". (通常它具有"console = ttyS0,115200"-我的要求是:如果"console = null,115200",则输出应转到ttyS0以外的其他位置,例如虚拟设备或伪设备还是文件/缓冲区) 也许有人知道是否有好的解决方案? ..
发布时间:2020-05-28 00:35:01 其他开发

检测stdin是PHP中的tty设备(终端)还是管道?

我写了一个php脚本.在交互读取和执行之前,我希望它在连接到tty设备(终端)的标准输入中调用时显示帮助消息,但是在以管道中的文件或流作为标准输入时调用时不显示. 有没有一种方法可以从PHP中检测到这一点? 解决方案 使用此函数同时接受文件描述符(整数)和PHP流.如果收到PHP流,它将自动尝试对其进行广播,以获取文件描述符并改为使用它. ..
发布时间:2020-05-28 00:14:08 PHP

ViM有什么机制可以暂时覆盖整个控制台?

当您输入 vim 时,它将“清除"屏幕.退出后,它将“恢复"原始内容. 我知道可以使用\x1b[2J清除控制台并重置光标位置,但这会覆盖终端内容. 我认为Vim在幕后使用 ncurses ,在这种情况下,我想更好的问题是这是如何进行的,但是如何完成? 解决方案 大多数终端模拟器都可以保存和恢复屏幕内容. 为此的terminfo代码为smcup进入全屏模式,而rmcup退出 ..
发布时间:2020-05-16 23:02:23 其他开发

如何测试以确保仅输入一个整数,并确保在Assembly中输入的长度为5个字节或更小?

如何测试以确保在以下代码中仅输入整数并确保输入长度为5个字节或更少? 我试图了解如何适当地控制输入,以使超过5个字节的输入在程序退出时不会输出到终端. 此外,我将如何测试以确保仅输入一个字符串,最后在最后一种情况下,仅输入一个双精度字? ***根据x82和Peter C的指导更新了代码.我做了一些C的操作,并能够在下面修改我的原始代码.它仍然有一些缺陷,但是你们两个都有很大的帮助 ..
发布时间:2020-05-16 21:13:02 服务器开发

低延迟模式可安全用于Linux串行端口吗?

在Linux串行端口上使用low_latency tty模式是否安全? tty_flip_buffer_push 函数记录为“必须如果设置了port-> low_latency,则不会从IRQ上下文中调用它."但是,无论是否设置了标志,许多低级串行端口驱动程序都从ISR调用它.例如, mpc52xx驱动程序调用翻转缓冲区每次从其FIFO读取后无条件. ISR中低延迟翻转缓冲区的结果是在IRQ ..
发布时间:2020-05-02 03:18:57 其他开发

如何知道哪个设备连接到了/dev/ttyUSB端口

我正在使用两个Wavecom 16端口调制解调器.当我将调制解调器连接到系统上时,我能够列出所有/dev/ttyUSB端口名称,但是我也想知道,哪个调制解调器包含端口0到16,哪个调制解调器包含端口17到32? > 调制解调器可能在一天内被连接和移除很多次,所以当调制解调器断开连接并再次连接时,我还想保留日志. 任何想法如何使用c/c ++/php script/node.js做到吗? ..
发布时间:2020-05-01 11:09:30 服务器开发

编程Linux串行端口ttyS0

我正在尝试学习如何使用C在Linux中对ttyS0串行端口进行编程.我将另一台计算机连接到我的串行端口,大约每两秒钟发送一次交替的16进制值5f和6f.我已经与其他端口监视应用程序一起验证了这些值是否出现在端口上.在我的代码中,我正在将阻塞 read()用作10个字符长度的缓冲区.即使我的另一台机器仍在发送数据, read()也会永远阻塞.如果我包含行 fcntl(fd,F_SETFL,FNDEL ..
发布时间:2020-05-01 10:52:23 服务器开发

如何在Linux的串行端口设备上设置非标准波特率?

在Linux上设置自定义波特率的方式有哪些? 此问题的答案必须位于高于系统调用级别的用户级低级API(ioctl等)级别.至少在以下情况下应该有用: 编写使用串行端口的基于C的低级用户域代码, 写出抽象串口功能的库 编写内核串行端口驱动程序. 解决方案 不幸的是,事情取决于驱动程序.好的驱动程序将实现以下所有方法.错误的驱动程序将仅实现某些方法.因此,您需要全部尝试 ..
发布时间:2020-05-01 10:29:15 服务器开发

USB调制解调器回显错误的字符

我在端口ttyACM0上连接了USB调制解调器.当我打开像Minicom这样的应用程序并尝试向其发送一些命令时,回声并不总是我键入的内容.例如,如果我输入"A",则会得到"@".如果我输入"T",我会得到"T".似乎串行端口正在剥夺我传输的最低有效位.例如: A = @ B = B C = B D = D E = D F = F ...等等.我以为我的串行 ..
发布时间:2020-05-01 10:14:54 服务器开发

设置姿势参数

我正在尝试使用bash从ttyS0中读取内容,需要设置以下内容,但我很难弄清楚它 databits = 7 stopbits = 2 parity = 0 flow control = 0 这是我的代码: #!/bin/bash # Port setting stty -F /dev/ttyS0 raw speed 1200 # Loop while [ 1 ]; do ..
发布时间:2020-05-01 10:00:39 服务器开发

捕获直接重定向到/dev/tty

我正在为一个将文本直接吐到/dev/tty的程序的应用程序控制器工作. 这是一个生产应用程序控制器,必须能够捕获所有发送到终端的文本.通常,这不是问题.我们只需重定向stdout和stderr.这个特定的应用程序直接调用echo并将结果重定向到/dev/tty(echo "some text" > /dev/tty).通过我的应用程序控制器重定向无法捕获文本. 我确实有此应用程序的源代 ..
发布时间:2020-05-01 09:52:56 服务器开发

您可以傻傻地呆着并分别记录stdout和stderr吗?

问题 因此,您想(分别)记录一个进程或子进程的stdout和stderr,如果您未记录任何内容,则输出不会与在终端上看到的输出不同. 似乎很简单,不是吗?不幸的是,看来不可能为这个问题写一个通用的解决方案,该解决方案适用于任何给定的过程... 背景 管道重定向是一种分隔stdout和stderr的方法,使您可以分别记录它们.不幸的是,如果将stdout/err更改为管道,则 ..
发布时间:2020-05-01 09:30:28 服务器开发

如何在gnu屏幕中切换CR/LF?

我正在使用屏幕从串行控制台读取文本.问题在于输出似乎只包含换行符\ n而没有回车符\ r,因此显示如下: Line1 Line2 Line3 我想知道是否有任何补丁可以解决此问题? 解决方案 尝试stty onlcr. 手册页表示它将把换行符转换为输出中的回车符/换行符对,这似乎就是您所需要的. ..
发布时间:2020-05-01 08:56:56 服务器开发

如何从外部流程将数据写入现有流程的STDIN?

我正在寻找从外部流程将数据写入现有流程STDIN的方法,并且发现了类似的问题 @Michael在该线程中说,我们可以在如下所示的路径中获取现有进程的文件描述符,并允许在Linux上将数据写入它们. /proc/$PID/fd/ 因此,我创建了一个下面列出的简单脚本,以测试将数据从外部进程写入脚本的STDIN(和TTY). #!/usr/bin/env python import ..
发布时间:2020-05-01 08:16:06 服务器开发

将数据传输到需要TTY的Linux程序(终端)

我在Linux中有一个程序,如果它的stdin/stdout不是TTY(终端设备),它将拒绝运行.是否有一个易于使用的工具来创建PTY,使用新创建的TTY启动程序,并通过stdin/stdout复制所有数据? 用例不是交互式的,而是脚本.我正在寻找最轻巧的解决方案,最好不要创建TCP连接,并且不需要安装太多其他工具和库. 解决方案 unbuffer(expect)(在Ubuntu L ..
发布时间:2020-05-01 08:12:20 服务器开发