从文件中读取输入并将其传递给子shell

时间:2014-02-17 14:41:09

标签: shell unix multiprocess subshell

我有一个场景,我必须监视在不同服务器上运行的作业,作业详细信息(作业名称,主机服务器等)存在于dat文件中。

我编写了一个脚本脚本,该脚本从dat文件中读取详细信息,并调用存在作业监视逻辑的本地方法。

脚本运行正常,并且正在按顺序监视​​作业,即一次一个作业。

我希望同时监视将作业详细信息传递给子shell的作业,以便同时监视每个作业。

我已为每个作业添加了创建子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"

输入dat文件

##########################################################
## 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|&

0 个答案:

没有答案