如何在shell中join多个进程?

所以我做了一个小的c ++二进制文件连接来在服务器上执行一个命令来testing它,所以我开始研究下面的shell脚本

#!/bin/bash for (( i = 0 ; i <= 15; i++ )) do ./mycppbinary test 1 & done 

现在,我也碰巧想要花时间来执行所有的stream程。 我想我将不得不在每个这些进程上做一个时间命令?

是否有可能join这些进程,就好像它们是一个线程?

你不加入他们,你wait他们。 至少在bash中 ,可能还有其他一些有工作控制的shell。

你可以用你的shell脚本,这会给你总的执行时间。

您可以使用bash fg命令将最后一个后台进程恢复到前台。 在另一个循环中执行它来捕捉所有这些进程,尽管有些可能会在这之前完成,导致您无法获得有关此过程的错误。 你不加入进程,他们不是线程,他们每个人都有自己的PID和独特的内存空间。

第一,使剧本和所有的孩子一样

您提出的脚本将处理完成之前死亡,原因是您正在后台启动它们。 如果你不想要这样做,你可以根据需要做很多事情(就像Keith所建议的那样)。

第二,时间脚本

然后,您可以计算您的脚本,并根据您的要求提供总执行时间。