如何在shell中加入多个进程?

时间:2011-02-26 12:36:22

标签: linux shell scripting process

所以我已经制作了一个小的c ++二进制文件来连接在服务器上执行命令来对它进行压力测试,所以我开始研究以下shell脚本:

#!/bin/bash

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

现在,我也想要计算所有进程执行的时间。我想我必须对每个过程做一个时间命令?

是否可以加入这些流程,就好像它们是一个线程一样?

4 个答案:

答案 0 :(得分:9)

你没有加入他们,你wait就可以加入他们。至少bash,可能还有其他有工作控制的炮弹。

答案 1 :(得分:0)

您可以为shell脚本计时,这将为您提供总执行时间。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

1,使脚本与其所有子项相同

由于您要在后台启动它们,因此您建议的脚本将在进程完成之前死亡。如果您不希望这种情况发生,您可以根据需要执行尽可能多的wait(如Keith建议的那样)。

2,脚本时间

然后,您可以按照自己的要求为脚本计时,这将为您提供总执行时间。