首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

select()响应stdin,但不响应/dev/tty

select()是一个系统调用,用于在一组文件描述符上进行异步的I/O操作。它可以监视文件描述符的状态变化,包括可读、可写和异常等事件。在给定的一组文件描述符中,select()会阻塞等待,直到其中至少一个文件描述符就绪,然后返回就绪的文件描述符数量。

对于给定的问题,select()函数用于监视文件描述符的状态变化,但不会响应/dev/tty。/dev/tty是一个特殊的设备文件,代表当前进程的控制终端。通常情况下,select()函数会响应stdin(标准输入)的就绪状态,但不会响应/dev/tty。

/dev/tty是一个字符设备文件,它提供了与终端设备的交互接口。它可以用于读取和写入终端设备上的数据。但是,由于select()函数不会响应/dev/tty,因此无法通过select()函数来监视/dev/tty的就绪状态。

在实际开发中,如果需要监视/dev/tty的就绪状态,可以考虑使用其他方法,如使用非阻塞I/O或使用其他系统调用函数来实现。具体的实现方式取决于具体的需求和使用场景。

腾讯云提供了丰富的云计算产品和服务,包括计算、存储、网络、安全等方面的解决方案。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 概述Linux TTYPTS的区别

    程序如何和TTY打交道 在讨论TTY设备是如何被创建及配置之前,我们先来看看TTY是如何被进程使用的: #先用tty命令看看当前bash关联到了哪个tty dev@debian:~$ tty /dev...dev/pts/2 aaa pts也是tty设备,它们的关系后面会介绍到 通过上面的lsof可以看出,当前运行的bash和lsof进程的stdin(0u)、stdout(1u)、stderr(2u)都绑定到了这个...,只要保证后台进程不要读写tty就可以了,即写后台程序时,要将stdin/stdout/stderr重定向到其它地方(当然deamon程序还需要做很多其它处理)。...由于tmux服务器只和tmux客户端打交道,和sshd没有关系,当终端和sshd的连接断开时,虽然pts/0会被关闭,和它相关的shell和tmux客户端也将被kill掉,但不会影响tmux服务器,当下次再用...start = ^Q; stop = ^S; 这是两个特殊的控制命令,估计经常有人会碰到,在键盘上不小心输入CTRL+S后,终端没反应了,即没输出,也不响应任何输入。

    2.2K31

    理解Linux 终端、终端模拟器和伪终端

    你可能听说过 TTY 和 PTY 这些缩写,也在 /dev 目录下看到过 /dev/tty[n] 设备,大概知道它们和 Linux 终端的概念有关。...终端成为内核的一个模块,它可以直接向 TTY 驱动发送字符,并从 TTY 驱动读取响应然后打印到屏幕上。...终端模拟器就像过去的物理终端一样,它监听来自键盘的事件将其发送到 TTY 驱动,并从 TTY 驱动读取响应,通过显卡驱动将结果渲染到显示器上。...TTY驱动 和 line discipline的行为与原先一样,但不再有 UART 和 物理终端参与。 如何看到一个终端模拟器呢?...通过执行 tty 命令可以查看代表当前虚拟终端的设备文件: $ tty /dev/tty3 可以看到,当前终端的设备文件是 /dev/tty3,也就是通过 Ctrl+Alt+F3 得到的虚拟终端。

    40310

    Linux之dev目录介绍

    null ram15 scd0 stdin tty18 tty30 tty43 tty56 ttyS2 vcsa3 console...上面的结果的一些文件目录解释如下: /dev/agpgart:agp接口设备 /dev/hd[a-t]:IDE设备 /dev/sd[a-z]:SCSI设备 /dev/fd[0-7]:标准软驱 /dev.../md[0-31]:软raid设备 /dev/loop[0-7]:本地回环设备 /dev/ram[0-15]:内存 /dev/null:无限数据接收设备 ,相当于回收站 /dev/zero:无限零资源.../dev/tty[0-63]:虚拟终端 /dev/ttyS[0-3]:串口 /dev/lp[0-3]:并口 /dev/console:控制台 /dev/fb[0-31]:framebuffer 剩余的一些文件目录...甚至于,我们可以将某一用户的shell指向/dev/null,从而禁止其登陆; 2:stderr,stdin,stdout是标准错误,标准输入,标准输出,通常和上面的/dev/null搭配起来使用,使用方法如下

    8K10

    Linux:devtty、devtty0 和 devconsole 之间的区别

    在Linux操作系统中,/dev/tty、/dev/tty0和/dev/console是三个特殊的设备文件,它们在终端控制和输入/输出过程中扮演着重要的角色。.../dev/tty通常用于与用户进行交互,接收用户输入和输出结果。它提供了标准输入(stdin)和标准输出(stdout)的接口。...每个虚拟控制台都与一个/dev/tty设备文件相关联,其中/dev/tty0表示第一个虚拟控制台。这意味着当我们在虚拟控制台上操作时,实际上是与/dev/tty0设备文件进行交互。...在大多数情况下,物理控制台就是/dev/tty0所代表的虚拟控制台。与/dev/tty和/dev/tty0不同,/dev/console是一个特殊的设备文件,具有系统级别的权限。...区别总结为了更清楚地理解/dev/tty、/dev/tty0和/dev/console之间的区别,下面是它们之间的主要区别总结:/dev/tty是当前正在使用的控制终端设备,可以是物理终端、虚拟终端或串行终端

    2.2K00

    python 利用paramiko批量管

    usr/bin/env python # -*- coding: utf-8 -*- import paramiko import sys import os import socket import select...root','123456') #打开一个通道 chan = tran.open_session() #获取一个通道 chan.get_pty() #激活器 chan.invoke_shell() #获取原tty...属性,目的是为了在操作完以后恢复终端原型 oldtty = termios.tcgetattr(sys.stdin) try:     #为tty设置新属性     #默认当前tty设备属性     #...    #ctrl +c 进程退出,遇到特殊字符,特殊处理     #这是为原始模式,不认识特殊字符号     #放置特殊字符应用在当前终端,如此设置,将所有的用户输入均发送到 远程服务器     tty.setraw...        readable,writeable,error = select.select([chan,sys.stdin,],[],[],1)         if chan in readable

    51510

    Docker核心技术

    -t, --tty                   分配一个伪TTY,也就是分配虚拟终端 -i, --interactive        即使没有连接,也要保持STDIN打开 --name                  ...-a, --attach        将当前shell的 STDOUT/STDERR 连接到容器上    -i, --interactive        将当前shell的 STDIN连接到容器上     ...-t, --tty                   分配一个伪TTY,也就是分配虚拟终端            -i, --interactive        即使没有连接,也要保持STDIN打开...如果在默认的宽限期(通常为10秒)内,容器内的主进程没有响应SIGTERM信号并优雅地停止,Docker将随后发送SIGKILL信号,以确保容器被终止。...        显示总大小  容器日志信息 – docker logs  docker logs [OPTIONS] CONTAINER  容器连接 – docker attach  将当前终端的STDIN

    11610
    领券