博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 多进程
阅读量:4963 次
发布时间:2019-06-12

本文共 861 字,大约阅读时间需要 2 分钟。

linux shell 多个命令一起执行的几种方法

所谓的多进程 只不过是将多个任务放到后台执行而已,所以现在讲的主要是控制。
1.每个命令之间用分号; 隔开
说明:各命令的执行结果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。

#!/bin/bashstart=`date "+%s"`for((i=1;i<4;i++))do    echo " `date "+%s" ` ";sleep 2doneend=`date "+%s"`echo "time: `expr $end - $start `"

 

执行脚本:
74
    76
    78
    80
    82
84
time:8
这种不占处理器却有很耗时的进程,我们可以通过一种后台运行的方式来达到节约时间的目的。看如下改进:

#!/bin/bashstart=`date "+%s"`for((i=1;i<4;i++))do    {
echo " `date "+%s" ` ";sleep 2 }&donewaitend=`date "+%s"`echo "time: `expr $end - $start `"

执行脚本:
81
    81
    81
    81
    81
83
time:2
用“{}”将主执行程序变为一个块,用&放入后台,四次执行全部放入后台后,我们需要用一个wait指令,等待所有后台进程执行结束,不然 系统是不会等待的,直接继续执行后续指令,知道整个程序结束。

优缺点:虽然达到了多线程并发的目的,但有一个缺陷,不能控制运行在后台的进程数。

 

 

2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.每个命令之间用||或者|隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。

 

转载于:https://www.cnblogs.com/sunziying/p/8359158.html

你可能感兴趣的文章
SQL Server-5种常见的约束
查看>>
硬件之美
查看>>
[转载]java开发中的23种设计模式
查看>>
表格的拖拽功能
查看>>
函数的形参和实参
查看>>
文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号
查看>>
1Caesar加密
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
webdriver api
查看>>
apache 实现图标缓存客户端
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
P3565 [POI2014]HOT-Hotels
查看>>
MongoDB的简单使用
查看>>
hdfs 命令使用
查看>>
prometheus配置
查看>>
【noip2004】虫食算——剪枝DFS
查看>>