动态组合两个bash脚本以显示CPU和内存
我有一个脚本,可以连续打印不同的日志和日期动态组合两个bash脚本以显示CPU和内存,bash,shell,Bash,Shell,我有一个脚本,可以连续打印不同的日志和日期 ./script1 Date Log Date Log Date Log ... 我还有另一个,prustat,它打印%CPU和%mem ./prustat %CPU %mem 1.2 3 我希望将两者结合起来,以便: Date Log %CPU %mem 1.2 3 Date Log %CPU %mem 1.2 3 以获得每个日志的CPU消耗和内存 谢谢。您可以将/prustat放入script1(最后一行)中,也可以这样称呼它们: ./
./script1
Date Log
Date Log
Date Log ...
我还有另一个,prustat,它打印%CPU和%mem
./prustat
%CPU %mem
1.2 3
我希望将两者结合起来,以便:
Date Log
%CPU %mem
1.2 3
Date Log
%CPU %mem
1.2 3
以获得每个日志的CPU消耗和内存
谢谢。您可以将
/prustat
放入script1
(最后一行)中,也可以这样称呼它们:
./script1; ./prustat
如果它一直在运行,你不知道为什么你想让它们一起运行 你可以试试:
./script1.sh& ./script2.sh
这将调用script1并将其作为后台作业,然后调用script2.sh
现在您将返回命令提示符
你能行
fg%1要返回script1.sh
不确定你为什么想做这样的事
执行上述操作意味着,如果再次重新启动,则上一个作业仍在后台运行,并且您将得到一个正在运行的辅助作业-
简而言之,您应该将两个脚本合并到一个脚本中,并在需要时在script1中调用script2,并让script1连续运行
这将是痛苦的
因此,另一种选择是:
timeout 1 ./script1.sh; ./script2.sh
这将执行script1并在1秒后超时,然后运行script2,这看起来像是您想要的
./script1.sh |
while IFS= read -r line; do
echo "$line"
./script2.sh
done
但是,关于脚本1和脚本2的内容,您一定没有告诉我们一些东西,这应该结合两个脚本的输出
#!/bin/bash
trap 'rm /tmp/z[12]' 0
./script1 > /tmp/z1 &
./prustat > /tmp/z2 &
tail -qfc +1 /tmp/z[12]
但是没有同步,因此根据每个脚本的输出频率,顺序可能不是您所期望的
编辑:不清楚是两个脚本都提供连续输出,还是仅第一个脚本。我的回答假设两者都有。是的,但是/script1连续打印。您可以将/prustat放在script1的循环中吗?