Linux Bash-如何重定向某个线程的stdout?
假设我有一个C程序,它为不同的任务创建线程。现在,我想重定向bash脚本中某个线程的Linux Bash-如何重定向某个线程的stdout?,linux,bash,Linux,Bash,假设我有一个C程序,它为不同的任务创建线程。现在,我想重定向bash脚本中某个线程的stdout 在这里,您可以假设我总是有办法获得进程id和线程id,我只想知道是否可以使用bash脚本以及如何实现这一点 注意:这不是关于进程,而是关于线程,我还没有发现任何与此相关的问题。只有一个控制台,而不是每个线程一个。因此,当5个线程与标准输出并行写入时,所有这些都会以不确定的方式进入单个接收器 因此,除非每一行都包含一个标识原始线程的特定字符串,否则不能在事后将该输出分离 或者,您可以让线程写入不同的文
stdout
在这里,您可以假设我总是有办法获得进程id和线程id,我只想知道是否可以使用bash脚本以及如何实现这一点
注意:这不是关于进程,而是关于线程,我还没有发现任何与此相关的问题。只有一个控制台,而不是每个线程一个。因此,当5个线程与标准输出并行写入时,所有这些都会以不确定的方式进入单个接收器 因此,除非每一行都包含一个标识原始线程的特定字符串,否则不能在事后将该输出分离
或者,您可以让线程写入不同的文件!当您不将随机输出放在一起时,以后更容易获得单个源 只有一个控制台,而不是每个线程一个。因此,当5个线程与标准输出并行写入时,所有这些都会以不确定的方式进入单个接收器 因此,除非每一行都包含一个标识原始线程的特定字符串,否则不能在事后将该输出分离
或者,您可以让线程写入不同的文件!当您不将随机输出放在一起时,以后更容易获得单个源 一个进程中只有一个
stdout
,所有线程都共享它,这就是为什么有时必须使用某种互斥来保护它。这适用于整个文件描述符表,而不仅仅是stdout
(fd 1)。一个进程中只有一个stdout
,所有线程都共享它,这就是为什么有时必须使用某种互斥来保护它。这适用于整个文件描述符表,而不仅仅是stdout(fd1)。