echo "Running IOSTAT"
iostat 2
echo "Running MPSTAT"
mpstat -P ALL 2
echo "Running VMSTAT"
vmstat 2
echo "Running executable"
./a.out 2 1024
echo "Done"
我想测试正在运行的可执行文件的性能。我写了一个剧本。它只显示iostat而不是剩下的3.如何平行运行所有4个?
答案 0 :(得分:1)
尝试放一个&符号&'在每个命令的末尾。这将在后台启动可执行文件。例如:
mpstat -P ALL 2 &
答案 1 :(得分:1)
您的问题的解决方案是在后台运行命令并将其IO重定向到文件以供日后查看。
shell将执行命令,直到该命令完成并返回提供退出代码,以便进一步执行命令。
您使用&
在后台运行命令。
您可以使用>stdout.txt 2>stderr.txt
最后,您需要使用作业控制来终止正在运行的iostat,mpstat和vmstat。可以使用%
和数字访问每个衍生的后台进程。因此,您可以使用kill %1
例如:
#!/bin/sh echo "Running IOSTAT" iostat 2 >iostat-stdout.txt 2>iostat-stderr.txt & echo "Running MPSTAT" mpstat -P ALL 2 >mpstat-stdout.txt 2>mpstat-stderr.txt & echo "Running VMSTAT" vmstat 2 >vmstat-stdout.txt 2>vmstat-stderr.txt & echo "Running executable" ./a.out 2 1024 echo "Done" kill %1 kill %2 kill %3
希望有所帮助。