确定 STDERR 是否要终端

2023-12-27

我有一套 Java 程序,它们在我们的 Linux 服务器上用作命令行工具。他们中的大多数使用一个在 STDERR 上打印进度条的类,类似于 Perl 的Term::ProgressBar.

我希望每当 STDERR 进入终端时显示进度条,并在 STDERR 重定向时自动禁用自身,以便重定向数据中不会出现各种进度条片段。

检查System.console() == null是我的第一个想法,但重定向 STDOUT 足以做到这一点true,即使 STDERR 仍然会发送到终端。有什么我可以检查的特定于 STDERR 的内容吗?特定于 Linux 或使用本机 API 的解决方案就可以满足我的需求。


我想你正在寻找的是isatty(3), in unistd.h。没有办法判断文件句柄是否已被重定向,但这会告诉您它是否仍然是交互式的。请参阅来源ttyGNU coreutils 中的命令。

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

确定 STDERR 是否要终端 的相关文章

  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • 多处理:仅使用物理核心?

    我有一个函数foo它消耗大量内存 我想并行运行多个实例 假设我有一个有 4 个物理核心的 CPU 每个核心有两个逻辑核心 我的系统有足够的内存来容纳 4 个实例foo并行但不是 8 个 此外 由于这 8 个核心中的 4 个是逻辑核心 我也不
  • 为什么 java 编译器不报告 Intellij 中多播表达式的未经检查的强制转换警告?

    为什么下面的代码没有报告 Intellij IDEA 的未经检查的警告jdk 1 8 0 121自从Supplier
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • Android 自定义视图不能以正确的方式处理透明度/alpha

    我正在绘制自定义视图 在此视图中 我使用两个不同的绘画和路径对象在画布上绘画 我基本上是在绘制两个重叠的形状 添加 Alpha 后 视图中重叠的部分比图像的其余部分更暗 这是不希望的 但我不知道如何解决它 这是我的代码片段 用于展示我如何在
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 如何让spring为JdbcMetadataStore创建相应的schema?

    我想使用此处描述的 jdbc 元数据存储 https docs spring io spring integration docs 5 2 0 BUILD SNAPSHOT reference html jdbc html jdbc met
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • 尝试使用等于“是”或“否”的字符串变量重新启动 do-while 循环

    计算行程距离的非常简单的程序 一周前刚刚开始 我有这个循环用于解决真或假问题 但我希望它适用于简单的 是 或 否 我为此分配的字符串是答案 public class Main public static void main String a
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett

随机推荐

  • MVC5 EF 实体显然正在保存,但检索时为空

    我有一个Account包含列表的类Payments 其中包含一个列表Products那是Pending Sold or Refunded 当选择Products要付款 我可以将它们添加到Payment对象 然后将整个对象保存到Account
  • 如何在不刷新页面的情况下自动提交此表单?

    这一切都在一个 php 文件中
  • Go 中的单例

    如何在Go语言中实现单例设计模式 抛开实现单例模式是否是个好主意的争论 下面是一个可能的实现 package singleton type single struct O interface var instantiated single
  • Java从int到字节错误的可能有损转换[重复]

    这个问题在这里已经有答案了 当我从 jar 文件中反编译一些类时 就会发生这种情况 这些是我唯一无法克服的错误 所有这些错误都是 可能是从 int 到 byte 的有损转换 this onDemandFetcher method563 1
  • 如何从脚本而不是终端使用 PyInstaller?

    简洁版本 如何从 Python 脚本中而不是从终端使用 PyInstaller 我需要在 Python 脚本中编写什么才能获得与在终端中编写的等效内容 gt python m PyInstaller noconsole name WorkL
  • 无法执行Findbugs 原因:该项目包含未编译的Java源文件

    我目前正在使用 sonarqube 服务器 5 6 和扫描仪 2 6 1 并且在分析 java 项目期间不断收到错误 它似乎抱怨一些未在二进制文件夹中编译的 java 文件 二进制文件夹中根本没有任何文件 添加 X 参数后 我会收到更多异常
  • 如何在 C++ 中使用 yahoo 或 gmail 发送电子邮件

    我想在我的 C 程序中发送一封电子邮件 看起来有点复杂 有没有办法使用 yahoo 或 gmail 来发送我的电子邮件 基本的互联网search http www vmime org 揭示了以下内容 C SMTP 示例 https stac
  • C++中有没有像.Net中的反射器这样的概念?

    我喜欢从 c dll 获取代码 我知道我们可以通过反射器轻松从 Net dll 获取代码 c 中有没有可用的方法 提前致谢 C 直接编译为机器代码 没有像 NET 那样的中间语言 有你可以看一下 Hex Rays 反编译器 http www
  • 如何找出 JVM 对我的代码应用了哪些优化?

    JVM 尤其是 HotSpot VM 因可在运行时应用大量优化而闻名 有没有办法查看某段代码并了解 JVM 实际上对其做了什么 一个问题是 JVM 实际对它做了什么 在调用之间发生变化 因为 JVM 可以自由地重新生成代码 举个例子 几天前
  • Delphi:类似 FireFox 中的 AnimateWindow

    我有一个面板 底部对齐 和一些控件 客户端对齐 为了使面板动画化 我使用 AnimateWindow Panel Handle 1000 aw hide or AW SLIDE OR AW VER POSITIVE panel Visibl
  • InvalidDefinitionException:找不到内部类的序列化器

    我有这门课 我想返回RestAPI打电话进来JSON format return ResponseEntity ok cacheControl CacheControl maxAge 5 TimeUnit MINUTES body hote
  • Gradle 构建在全新安装和空项目上永久运行

    Gradle 构建永远运行 我不明白为什么 我在 Ubuntu 15 04 上安装了 Android Studio 它使用向导中的所有默认选项进行设置 我创建了一个空项目 没有添加任何代码 当我尝试构建项目时 gradle 进程会启动但永远
  • 如何获得 2 个表的结果

    我有 2 张桌子 一种叫booking 另一种叫room Booking 中的列为 RoomID startdate enddate customerId 房间中的列是 RoomID 大小 我想从预订表中选择一行 其中日期位于开始日期和结束
  • 尝试在集群上无头运行 NetLogo 时出现 Java 错误

    我正在尝试使用 Linux 无头运行 Netlogo 以便将作业发送到集群 我以前从未使用过 Linux 但我正在尝试按照此处的说明进行操作 http netlogo users 18673 x6 nabble com Running Ne
  • FlushViewOfFile (Windows) 和 msync(Linux) 的时间消耗

    我们感兴趣的是时间消耗FlushViewOfFile https learn microsoft com en us windows win32 api memoryapi nf memoryapi flushviewoffile and
  • Scala 过滤器元组 (x, y) == (y, x)

    我有一个元组列表 例如 0 2 0 5 2 0 2 5 3 4 4 3 5 0 5 2 有一些元组在哪里 x y y x 例如 5 0 和 0 5 我只想留下其中一个 例如第一个 我该怎么做 使用左折叠 var ts List 0 2 0
  • Python 中真正的非阻塞 HTTPS 服务器

    我正在尝试用 Python 构建一个真正的非阻塞 HTTPS 服务器 如果每个人都玩得很好 下面的最小代码就可以正常工作 import BaseHTTPServer import SimpleHTTPServer import Socket
  • Python struct.pack 和 unpack

    我绝不是一个经验丰富的Python程序员 这就是为什么我相信这个问题可能有一个明显的答案 但我就是无法理解struct pack和unpack 我有以下代码 struct pack lt I elements self buf elemen
  • Android Compose 导航和 ViewModel 生命周期

    我刚刚开始使用 Compose 对于我来说 第一眼看上去 它就像是我喜欢的 SwiftUI 的副本 但当我真正开始使用它时 我很快就遇到了很多问题 显然 我需要找到如何使用它才能从中受益的正确方法 这是我的问题之一 package org
  • 确定 STDERR 是否要终端

    我有一套 Java 程序 它们在我们的 Linux 服务器上用作命令行工具 他们中的大多数使用一个在 STDERR 上打印进度条的类 类似于 Perl 的Term ProgressBar 我希望每当 STDERR 进入终端时显示进度条 并在