【发布时间】:2018-08-03 08:58:15
【问题描述】:
我有一个启动多进程的 bash 脚本:
while read p || [[ -n $p ]]; do
hostname=$(echo $p | cut -d';' -f1)
# On lance les actions en background/parallele
ssh "$hostname" "someAction.sh" > "$hostname.status.tmp" &
done < hostnames.prm
“someAction”脚本在每台服务器上需要一些时间才能启动。 它逐步返回步骤以说明发生了什么。
我想逐步显示每个进程上每个动作的状态,刷新屏幕。
示例:
Hostname n°1 :
Step 1 of someAction
Step 2 of someAction
...
Hostname n°2 :
Step 1 of someAction
Step 2 of someAction
Step 3 of someAction
Step 4 of someAction
someAction finished
...
Hostname n°3 :
Step 1 of someAction
...
Hostname n°4 :
Step 1 of someAction
Step 2 of someAction
...
Hostname n°5 :
Step 1 of someAction
Step 2 of someAction
Step 3 of someAction
Step 4 of someAction
someAction finished
所以我将返回的进度步骤按主机名存储在一个文件中:
ssh "$hostname" "someAction..." > "$hostname.status.tmp" &
但是,当至少有一个进程正在进行时,我该如何显示它们?
这似乎很难:/
【问题讨论】: