1

我有两个过程:

第一个过程,我运行: . /vlc video >> resu.txt 它给了我一个输出文件 resu.txt

第二个过程是对文件 resu.txt 进行计算的脚本。该脚本的名称是 calcule.sh,我运行它时使用: 。/计算.sh

我想同时运行两个进程。即有两个并行进程。

我如何并行运行两个进程(./Vlc video >> resu.txt 和 ./Calcul.s)。有没有执行此操作的命令?拜托,你能给我一个可以做到这一点的代码吗

预先感谢您的回答。

4

5 回答 5

5

修改calcule.sh,使其从标准输入而不是从 中读取resu.txt,然后在管道中执行您的命令,如

. /Vlc video | ./calcule.sh
于 2012-09-18T12:23:01.033 回答
1

这里没有真正的并行处理。您的第二个脚本无法运行,直到它有一些由第一个脚本生成的数据要处理。这只是流水线的一个例子。您不需要使用临时文件来存储结果,只需将第一个的输出通过管道传输到第二个的输入:

./Vlc video | ./Calcul.s

为此,您必须稍微更改第二个脚本才能从管道中读取。

于 2012-09-18T12:23:55.923 回答
0

如果要创建“resu”文件并将文本发送到其他脚本,请使用tee

./Vlc video | tee resu.txt | ./calculate.sh
于 2012-09-18T21:05:54.607 回答
0

如果没有数据依赖性并且可以并行运行,则使用这两个命令

./ Vlc video > resu.txt &

接着

./calculate.sh
于 2012-09-18T13:00:20.443 回答
0

如果进程相互依赖,即进程 1(VLC)必须完成并生成其输出,以便进程 2(您的脚本)可以使用,那么它们是顺序的,并且由于数据的原因不能并行运行依赖。

于 2012-09-18T12:18:01.163 回答