加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在bash脚本中同时运行两个不同的长时间运行命令?

发布时间:2020-12-14 02:43:11 所属栏目:Linux 来源:网络整理
导读:作为迁移脚本的一部分,我必须chmod和chown成千上万的文件.每个命令大约需要一个半小时才能完成.我意识到这两个操作可以同时运行,这减少了运行时间,我通过在 shell中测试证实了这一点. 我知道用’’将命令推入后台的技巧,但是我需要确保两个进程在继续执行脚
作为迁移脚本的一部分,我必须chmod和chown成千上万的文件.每个命令大约需要一个半小时才能完成.我意识到这两个操作可以同时运行,这减少了运行时间,我通过在 shell中测试证实了这一点.

我知道用’&’将命令推入后台的技巧,但是我需要确保两个进程在继续执行脚本的其余部分之前完成.

谢谢

解决方法

使用wait命令.

这个演示:

#!/bin/bash
echo $SECONDS
sleep 12&
sleep 15&
jobs
wait
echo $SECONDS
echo "jobs are done"

生成此输出:

0
[1]-  Running                 sleep 12 &
[2]+  Running                 sleep 15 &
15
jobs are done

在输出最后两行之前有一个十五秒的暂停.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读