cost 257 ms
如何向正在轮询 stdin 的线程提供输入,在同一进程中形成另一个线程? - How to supply input to a thread which is polling for stdin, form another thread in the same process?

参考以下代码示例,我希望主线程使用scanf提供子线程期望的数字num 。 我尝试通过这种方式将 wordcount (9) 写入标准输入,该标准输入将由子线程读取,但它不起作用。 有人可以建议正确的方法或任何其他替代方法吗? 谢谢。 ...

执行 ls | wc linux 命令在 c 程序中使用 2 个进程通过 pipe 进行通信 - Executing the ls | wc linux command in c program using 2 processes communicating trough a pipe

我目前在以下练习中遇到问题: 我想“模仿” pipe 命令行ls | wc ls | wc在 linux bash 中使用以下程序。 我要做的是: 创建一个 pipe 创建一个 reader child 和 writer child writer child 关闭管道的读取端并将他的标准输出重定 ...

即使在使用 dup2/dup 之后,C 程序也会打印到终端而不是文件 - C program prints to terminal instead of file even after using dup2/dup

我正在学习操作系统课程,并在 Linux 上使用 C 完成作业。 在其中一项任务中,我应该将 output 重定向到一个文件,但由于某种原因,我一直在终端中获取 output。 我尝试编写一个简单的程序来做到这一点,但它仍然没有工作: 我尝试过的其他事情: 更改打开文件的权限(添加O_RDWR ) ...

如何使用 2 个子进程,一个用于执行命令,另一个用于读取 output 并将其传递给下一个? - How do I use 2 child processes one for executing command and the other one for reading output and passing it to the next?

所以我的程序需要 pipe 多个进程并读取 output 拥有的每个进程的字节数。 我实现它的方式,在一个 for 循环中,我们有两个孩子: Child 1:dups output 并执行该过程 Child 2:读取 output 并将其写入下一个输入目前,孩子 1 执行该过程,孩子 2 读取其 ...

2021-12-11 13:16:17   1   31    c / pipe / dup  
将标准输出重定向到管道并从单个进程中读取 - Redirecting stdout to pipe and reading from it from a single process

我正在将一个 Linux 程序移植到一个没有 fork() 的系统,所以一切都在一个进程中运行。 该程序创建管道,将标准输出重定向到管道的输入,分叉,子进程调用 printf 和父进程从管道读取数据。 我删除了 fork,并尝试在 Linux 上对其进行测试 - 该程序挂在read() ,它等待管道 ...

如何在我的 shell 中实现管道和重定向? - How to implement pipes and redirections in my shell?

据我所知,有很多关于管道和文件重定向的信息。 但我找不到任何关于同时进行管道和文件重定向的具体内容。 如果有类似的东西我可能错过了,如果你不介意的话,请给我链接。 我想要做的是在 shell 中执行一个命令,比如ls -l | grep total > test.txt ls -l | g ...

使用 Dup2 在标准输出和文件之间切换困难 - Difficulty with switching between stdout and file using Dup2

我对 dup2 系统调用有疑问。 我添加了一个运行在学生目录上的 while 循环(我的程序的一部分),每个学生都有一个“c”文件,我将其编译为“exe”文件。 学生的程序从 testInput 文件中扫描(使用 dup2 接键盘)2 个数字,将它们相加,然后将答案写到 programOutPut ...

使用共享文件和 dup2() 将命令的标准输出通过管道传输到另一个命令的标准输入 - Piping the stdout of a command to the stdin of another other using shared file and dup2()

我正在编写一个带有两个 arguments 的 porgram - 命令的名称。 程序应该将第一个命令的 output 重定向到文件“tmp”而不是执行它,而不是将第二个命令的标准输入重定向到“tmp”并执行第二个命令。 但是,当我运行./main ls wc而不是5 5 50之类的程序时,我得到 ...

dup2() 阻塞子进程? C - dup2() is blocking with child processes? C

我正在写一个 function 回显输入到 sed 然后另一个 sed。 我认为我以正确的方式使用了所有等待信号,但我能得到的最后一个打印是在回声中我的第一个子进程中调用 dup2() 之前。 我可以想象 2 种可能性... dup2 正在阻塞,或者我需要创建更多进程,因为它会结束通话进程,但是在 ...

为什么 c 中的 printf 似乎在其他动作发生后给出它的结果? - why does printf in c seems to gives its result after other action occured?

我确定我的困难但不是原因,所以我的标题可能不是这个问题的好问题:/ 我正在创建一个用作 printf 的函数,我们称之为print2 ,为了测试它,我编写了这个小代码,其中包括 stdout 和宏的重定向,因为我想在标准输出上看到真正的 printf,我的print2的动作,并将这些结果存储在两个 ...

使用管道后恢复标准输出的问题 - Problem restoring stdout after using pipe

使用此处找到的建议: 使用 dup 后恢复标准输出我尝试恢复标准输入和标准输出。 但是,当使用 printf 检查 stdout 是否已恢复时,我无法读取输出。 代码如下。 将标准输出恢复为 1 后,我尝试打印“完成”。 但是,当我运行代码时,我没有看到“完成”。 (15后应该有一个完成)。 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM