在命令行中运行三个程序,或在程序运行时记录CPU利用率的脚本

时间:2014-07-07 17:06:33

标签: linux bash perl scripting cpu-usage

我试图在命令行中运行3个程序,如下所示:

program1; program2; program3

我希望program1在program2运行时运行。一旦program2自然终止,我希望program3明确地终止program1。

这样做的目的是为了在程序运行时记录CPU利用率以进行基准测试。

这是我想要的想法:

mpstat 1 & > CPUutil.txt ; ./a.out | tee p.txt ; perl -e '//code to kill program1'

如果你能想到一个解决方案,可以使用system()/ fork()完全在Perl脚本中完成,而不是只使用同样好的命令行。

1 个答案:

答案 0 :(得分:2)

您希望program1&放入后台:

program1&; program2; kill $!

然后它将与program2一起运行。 kill $!$!是最近落后流程的pid - 即program1)将在program2终止后开始。如果program1仍在运行,kill $!将终止它。