linux - Bash - 如何重定向某个线程的标准输出?

标签 linux bash

假设我有一个 C 程序,它创建线程来执行不同的任务。现在,我想在 bash 脚本中重定向某个线程的 stdout

在这里您可以假设我总是有办法获取进程 ID 和线程 ID,我只想知道是否可以使用 bash 脚本来完成此操作以及如何进行?

注意:这不是关于进程的,是线程的,我还没有找到任何与此相关的问题。

最佳答案

只有一个控制台,不是每个线程一个。因此,当 5 个线程并行写入 stdout 时,所有这些都进入一个接收器,基本上以不确定的方式。

因此,除非每一行都包含一个特定的字符串来标识原始线程,否则您无法在事后将该输出分开。

或者,您可以让您的线程写入不同的文件!当您不将随机输出放在一起时,以后更容易获得各个来源。

关于linux - Bash - 如何重定向某个线程的标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55662069/

相关文章:

linux - 在正则表达式中使用带有变量的查找

Java Glassfish 4 崩溃并显示 "double free or corruption (fasttop)"

linux - 使用 env 变量指定 makefile

linux - 是什么 。 (点)和 +(加号)在内核崩溃(任务挂起)中的锁名称之后?

linux - 当我使用不带任何参数的停止命令时会发生什么?

linux - 使用 rsync 在脚本上无限循环

bash - 如何将两个文件相互分类但分别省略最后一行/第一行?

linux - 在没有 PID 的情况下终止在后台运行的 while 循环

c++ - C++ 中的 Linux 进程加载器

java - 在 Java 程序中使用 Linux Strace 命令