所以我已经制作了一个小的c ++二进制文件来连接在服务器上执行命令来对它进行压力测试,所以我开始研究以下shell脚本:
#!/bin/bash
for (( i = 0 ; i <= 15; i++ ))
do
./mycppbinary test 1 &
done
现在,我也想要计算所有进程执行的时间。我想我必须对每个过程做一个时间命令?
是否可以加入这些流程,就好像它们是一个线程一样?
答案 0 :(得分:9)
你没有加入他们,你wait
就可以加入他们。至少bash,可能还有其他有工作控制的炮弹。
答案 1 :(得分:0)
您可以为shell脚本计时,这将为您提供总执行时间。
答案 2 :(得分:0)
您可以使用bash fg
命令将最后一个后台进程恢复到前台。在另一个循环中执行以捕获所有这些,尽管有些可能在此之前完成,导致您得到关于没有此类进程的错误。你没有加入进程,它们不是线程,它们都有自己的pid和独特的内存空间。
答案 3 :(得分:0)
1,使脚本与其所有子项相同
由于您要在后台启动它们,因此您建议的脚本将在进程完成之前死亡。如果您不希望这种情况发生,您可以根据需要执行尽可能多的wait
(如Keith建议的那样)。
2,脚本时间
然后,您可以按照自己的要求为脚本计时,这将为您提供总执行时间。