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

2024-02-07

我在 Linux 中有一个程序,如果它的 stdin/stdout 不是 TTY(终端设备),它就拒绝运行。是否有一个易于使用的工具可以创建 PTY,使用新创建的 TTY 启动程序,并通过 stdin/stdout 复制所有数据?

该用例不是交互式的,而是脚本化的。我正在寻找最轻量级的解决方案,最好不创建 TCP 连接,并且不需要安装太多其他工具和库。


unbuffer,期望的一部分(sudo apt-get install expect-dev在 Ubuntu Lucid 上),可以欺骗程序认为它已连接到 TTY。

$ tty 
/dev/pts/3
$ echo | tty 
not a tty
$ echo | unbuffer tty 
/dev/pts/11
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据通过管道传输到需要 TTY(终端)的 Linux 程序 的相关文章

  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • 符合 POSIX 标准的 shell 相当于 Bash“while read -d $'\0' ...”?

    我正在尝试使 Bash 脚本严格符合 POSIX 标准 即消除任何潜在的 Bashisms http mywiki wooledge org Bashism 通过使用checkbashisms px script filename 在给定的
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • NUMA 在虚拟内存中是如何表示的?

    有许多资源 https en wikipedia org wiki Non uniform memory access从硬件角度描述NUMA的架构性能影响 http practical tech com infrastructure num
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • 当用户按下打印时运行脚本,并且在脚本结束之前不开始假脱机(linux,cups)

    我需要做的是结合用户按下打印来执行 python 程序 脚本 并且在该程序退出之前不要让打印作业假脱机 原因是打印驱动程序不是开源的 我需要更改用户设置 在本例中是部门 ID 和密码 通常是每个用户 但因为这是一个信息亭 具有相同帐户的不同
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed
  • 在 Ubuntu 中找不到 X11/Xlib.h

    我试图在 Linux 上使用 open gl 编写一个相当简单的程序 但在编译时它说 编译拇指 egl 我对 GL 完全陌生 不知道出了什么问题 快速搜索使用 apt search Xlib h 打开 libx11 dev 包 但纯 Ope
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • 无法在 64 位 Linux 上从汇编 (yasm) 代码调用 C 标准库函数

    我有一个函数foo以汇编语言编写 并在 Linux Ubuntu 64 位上使用 yasm 和 GCC 编译 它只是使用以下命令将消息打印到标准输出puts 如下所示 bits 64 extern puts global foo secti
  • 如何使用 fprintf 并写入管道?

    我创建了一个管道 并使用 dup2 将流 1 和 2 stdout 和 stderr 覆盖到这些管道中 现在我希望使用 fprintf 写入流 1 或 2 但我的程序似乎没有在管道的另一端接收到任何内容 我尝试过使用 printf 但我不确
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 码头无故停止

    我需要经验丰富的码头用户的建议 我在负载均衡器 亚马逊云 后面维护着 2 台 Linux 机器 使用 Jetty 9 0 3 有时我的 Jetty 容器会被 Thread 2 无故关闭 同时地 显示以下日志并且容器无故停止 没有错误 没有例
  • 找出 Linux 上的默认语言

    有没有办法从C语言中找出Linux系统的默认语言 有 POSIX API 可以实现这个功能吗 例如 我想要一个人类可读格式的字符串 即德语系统上的 German 或 Deutsch 法语系统上的 French 或 Francais 等 有类

随机推荐

  • 省略某些值时如何创建桑基图

    我需要创建一个桑基图R with plotly超过3年 我的group列应该是节点 1 worst 2 bad 3 good and 4 best 但是在 2019 年和 2020 年我有 需要一个额外的节点5 not available
  • 将 master 分支移动到另一个分支并启动新的 master

    我一直在使用 master 分支进行开发 并希望将其清除为只有发布提交 以及它的用途 如何将所有内容从 master 复制到开发分支然后重新启动 master 从master分支创建开发分支并删除master分支 并重新创建它 以防万一您不
  • 多个视图的单一视图控制器

    我正在尝试制作一个具有多个视图但只有一个视图控制器的注册表单 进入下一个视图后 我将输入写入一个结构 该结构稍后将发送到服务器 我面临的问题是 进入新视图时 VC 会重新初始化 因此用户结构也会重新初始化 有什么办法可以避免拥有多个 Vie
  • 使用MFC将文件路径转换为URL

    我见过类似的问题 例如用 C 对 URL 进行编码 解码 https stackoverflow com q 154536 2287576 但是 对我来说 CString strURL DWORD dwSize MAX PATH if In
  • 使用C程序的随机数数组

    我是 C 程序新手 我需要创建 100 个 50 到 70 之间的随机数 并将它们存储在 double 数组中 我该如何开始 创建一个数组 int my array 100 为随机数生成器播种 srand 0 循环遍历你的数组并填充它 in
  • 如何使用 AFNetworking 2 批量请求?

    因此 我正在使用 AFNetworking 2 0 重写 iOS 7 的应用程序 但遇到了一次发送一批请求并跟踪其进度的问题 在旧的 AFNetworking 中有enqueueBatchOfHTTPRequestOperations pr
  • C# httpwebrequest 和 javascript

    我正在使用 C HttpWebRequest 来获取网页的一些数据 问题是一些数据在页面加载后使用 javascript ajax 更新 但我没有在响应字符串中获取它 有没有办法让网络请求等待页面中的所有脚本执行完毕 Thanks Amit
  • React Native:包解析错误

    当我尝试使用以下命令生成发行版本时 cd android gradlew assembleRelease 目录下会生成一个apk文件 app build outputs apk app release unsigned apk 不幸的是 当
  • NextJS 中的环境变量未定义

    我正在使用next auth需要使用环境变量的库如下 Providers GitHub clientId process env GITHUB ID clientSecret process env GITHUB SECRET 然而 当我测
  • Google Play 显示的 API 级别错误

    在 Google Play 中上传我的 APK 后 它会显示在 APK 详细信息中 API 级别 14 17 并在 Play 商店中公开展示 4 0 及更高版本 虽然我以前的版本有 API 级别 14 但我更改了我的应用程序并设置了以下 m
  • 在 C++ 中不使用字段名称打印实例化结构的值

    我可以做吗 例如 考虑以下结构 struct bag string fruit string book string money 我想以顺序形式打印结构包实例的字段值并获得如下输出 apple Computer Networking A t
  • fps - 如何将计数除以时间函数来确定 fps

    我有一个计数器可以计算每一帧 我想要做的是将其除以时间来确定程序的 FPS 但我不确定如何在 python 中对计时函数执行操作 我尝试过将时间初始化为 fps time time time fps time float time time
  • 如何让PHP输出声音(嘟嘟声)?

    这个 python 代码的 PHP 版本是什么 import winsound winsound Beep 537 2000 php主要用在网络服务器上 所以在那里发出嘟嘟声有什么用 并且你不能通过php在用户计算机上发出嘟嘟声 因为php
  • 为什么 Unity 和 C# 开发工具包扩展会给出不正确/多余的警告?

    我正在使用 Visual Studio Code 用 C for Unity 编写脚本 不幸的是 我有多余的警告 解决这些警告会导致我的项目失败 我主要谈论的是 IDE0051 删除未使用的私有成员 对于函数 Start 和 Update
  • 正则表达式获取大括号之间的字符串

    我想问一下C 中的正则表达式 我有一根绳子 ex 欢迎来到 stackoverflow 这是一个 C 问题 关于正则表达式获取 之间内容的任何想法 我想要得到 2 个字符串 欢迎来到 stackoverflow 这是一个 C 问题 和 st
  • 如何在 Chrome 中为 Selenium 设置假地理位置

    如何在 Chrome 中为 Selenium 设置假地理位置 尝试使用 locationcontext 和下面的 Javascript 但它似乎不起作用 我已经尝试过这里的解决方案 Chrome 自动化中的假地理位置 https stack
  • 使用 LESS 及其 @import 时的 CSS 冗余

    我真的很喜欢这个想法和概念LESS http lesscss org 然而我偶然发现了一个错误 我很早就向作者报告了该错误 但尚未得到任何反馈 也许只有我做错了事 My application less 与此类似的文件 import res
  • jsgrid 多个自定义控制按钮?

    我想添加多个自定义控制按钮 以便我可以向按钮添加自定义单击事件 我遇到的问题是仅显示删除按钮 我希望每行都显示编辑和删除按钮 我有以下代码
  • Android 上的 1dip 形状线(边框)模糊

    这是我的应用程序的屏幕截图 它取自Samsung Galaxy Note 10 1 mdpi 149 ppi 我的客户认为底部按钮周围的边框线和上面的圆角矩形是模糊的 我使用形状作为背景 如下所示
  • 将数据通过管道传输到需要 TTY(终端)的 Linux 程序

    我在 Linux 中有一个程序 如果它的 stdin stdout 不是 TTY 终端设备 它就拒绝运行 是否有一个易于使用的工具可以创建 PTY 使用新创建的 TTY 启动程序 并通过 stdin stdout 复制所有数据 该用例不是交