我有一个场景,我必须监视在不同服务器上运行的作业,作业详细信息(作业名称、主机服务器等)存在于 dat 文件中。
我编写了一个脚本,该脚本从 dat 文件中读取详细信息并调用存在作业监视逻辑的本地方法。
该脚本运行良好,并且正在按顺序监控作业,即一次一项作业。
我想同时监视作业,即将作业详细信息传递给子shell,以便同时监视每个作业。
我已经为每个作业添加了创建子外壳的逻辑(在方法的末尾附加 & ),但作业仍在按顺序进行监控。
有没有其他方法可以在子 shell 中调用本地方法?
监控脚本
monitor_job() {
# Monitoring logic
}
while IFS='|' read JOB_NAME DEST_HOST CONCURRENT
do
if [[ -n "$JOB_NAME" && "$JOB_NAME" != *#* ]]
then
monitor_job $JOB_NAME $DEST_HOST $CONCURRENT
fi
done < "$DAILY_JOBS"
输入数据文件
##########################################################
## List of Daily Jobs that are to be monitored
#
## Job Name | Host Server | Concurrent Process
##########################################################
Job1|host1|&
Job2|host2|&
Job3|host3|&
Job4|host4|&
Job5|host5|&