我有两个过程:
第一个过程,我运行: . /vlc video >> resu.txt 它给了我一个输出文件 resu.txt
第二个过程是对文件 resu.txt 进行计算的脚本。该脚本的名称是 calcule.sh,我运行它时使用: 。/计算.sh
我想同时运行两个进程。即有两个并行进程。
我如何并行运行两个进程(./Vlc video >> resu.txt 和 ./Calcul.s)。有没有执行此操作的命令?拜托,你能给我一个可以做到这一点的代码吗
预先感谢您的回答。
我有两个过程:
第一个过程,我运行: . /vlc video >> resu.txt 它给了我一个输出文件 resu.txt
第二个过程是对文件 resu.txt 进行计算的脚本。该脚本的名称是 calcule.sh,我运行它时使用: 。/计算.sh
我想同时运行两个进程。即有两个并行进程。
我如何并行运行两个进程(./Vlc video >> resu.txt 和 ./Calcul.s)。有没有执行此操作的命令?拜托,你能给我一个可以做到这一点的代码吗
预先感谢您的回答。
修改calcule.sh
,使其从标准输入而不是从 中读取resu.txt
,然后在管道中执行您的命令,如
. /Vlc video | ./calcule.sh
这里没有真正的并行处理。您的第二个脚本无法运行,直到它有一些由第一个脚本生成的数据要处理。这只是流水线的一个例子。您不需要使用临时文件来存储结果,只需将第一个的输出通过管道传输到第二个的输入:
./Vlc video | ./Calcul.s
为此,您必须稍微更改第二个脚本才能从管道中读取。
如果要创建“resu”文件并将文本发送到其他脚本,请使用tee
./Vlc video | tee resu.txt | ./calculate.sh
如果没有数据依赖性并且可以并行运行,则使用这两个命令
./ Vlc video > resu.txt &
接着
./calculate.sh
如果进程相互依赖,即进程 1(VLC)必须完成并生成其输出,以便进程 2(您的脚本)可以使用,那么它们是顺序的,并且由于数据的原因不能并行运行依赖。