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

前端之家收集整理的这篇文章主要介绍了linux – 如何在bash脚本中同时运行两个不同的长时间运行命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为迁移脚本的一部分,我必须chmod和chown成千上万的文件.每个命令大约需要一个半小时才能完成.我意识到这两个操作可以同时运行,这减少了运行时间,我通过在 shell中测试证实了这一点.

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

谢谢

解决方法

使用wait命令.

这个演示:

  1. #!/bin/bash
  2. echo $SECONDS
  3. sleep 12&
  4. sleep 15&
  5. jobs
  6. wait
  7. echo $SECONDS
  8. echo "jobs are done"

生成输出

  1. 0
  2. [1]- Running sleep 12 &
  3. [2]+ Running sleep 15 &
  4. 15
  5. jobs are done

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

猜你在找的Linux相关文章