相关疑难解决方法(0)

如何在两个程序之间制作双向管道?

每个人都知道如何在两个程序之间制作单向管道(stdout第一个和stdin第二个程序的绑定):first | second.

但如何建立双向管道,即交叉结合stdinstdout的两个方案?有没有简单的方法可以在 shell 中做到这一点?

shell pipe

70
推荐指数
7
解决办法
5万
查看次数

在 bash 中的文件中执行原子写操作

通过庆典会后文件这个问题,一个它仍然不是很清楚,我哪能执行原子写入(追加)操作在bash文件。我有一个在多个实例中运行的脚本,并且在某些时候必须将数据写入文件:

echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE
Run Code Online (Sandbox Code Playgroud)

如何使所有并发运行的脚本的所有写入操作都原子化(以便来自一个实例的数据不会与来自另一个实例的数据重叠)?

linux command-line semaphore bash

16
推荐指数
2
解决办法
8336
查看次数

FIFO(命名管道)与常规管道(未命名管道)有何不同?

FIFO(命名管道)与常规管道 (|) 有何不同?正如我从Wikipedia了解到的,与常规管道不同,FIFO 管道在进程结束后“继续存在”,并且可以在之后的某个时间删除。

但是如果进程基于包含管道 ( cat x | grep y)的 shell 命令,如果我们将其存储在变量或文件中,我们可以“在进程之后保持活动状态”,那不就是一个 FIFO 吗?

此外,常规管道也具有它获得第一个标准输出,作为另一个命令的标准输入,所以它不也是一种先进先出管道吗?

pipe fifo

13
推荐指数
2
解决办法
8280
查看次数

标签 统计

pipe ×2

bash ×1

command-line ×1

fifo ×1

linux ×1

semaphore ×1

shell ×1