每天学一点儿shell:shell脚本的异步执行

导读:本篇文章讲解 每天学一点儿shell:shell脚本的异步执行,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

shell管道”|”

管道用法: command1 | command2 | command3 等等
用法举例:

[root@hadoop-master shell-test]# ps -ef|grep java
root       5304   2878  0 05:58 pts/1    00:00:00 grep --color=auto java

简单理解就是把前一个命令的输出结果当为下一个命令的数据入参,用管道比较形象,数据像水流一样从一个水管流到下一个水管。
再举个例子:

[root@hadoop-master shell-asy]# ls -s|sort -nr
4 test3.sh
4 test2.sh
4 test1.sh
4 start-syn.sh
4 start-asy.sh
总用量 20

-s是file size,-n是numeric-sort,-r是reverse,反转
这个命令就是将文件按照数据文件的大小按照从大到小进行排序并输出。

shell并行执行”&”

shell 通过“&”来并行执行shell脚本,相当于每一个脚本都是单独的进程。
举例如下:
脚本1

[root@hadoop-master shell-asy]# cat test1.sh 
#!/bin/bash
echo "脚本1开始执行 "`date +"%Y%m%d %H:%M:%S"`
sleep 5
echo "脚本1执行结束 "`date +"%Y%m%d %H:%M:%S"`

脚本2

[root@hadoop-master shell-asy]# cat test2.sh 
#!/bin/bash
echo "脚本2开始执行 "`date +"%Y%m%d %H:%M:%S"`
sleep 3
echo "脚本2执行结束 "`date +"%Y%m%d %H:%M:%S"`

脚本3

[root@hadoop-master shell-asy]# cat test3.sh 
#!/bin/bash
echo "脚本3开始执行 "`date +"%Y%m%d %H:%M:%S"`
sleep 5
echo "脚本3执行结束 "`date +"%Y%m%d %H:%M:%S"`

异步运行脚本start-asy.sh

[root@hadoop-master shell-asy]# cat start-asy.sh 
#!/bin/bash
echo "并行执行"
sh ./test1.sh &
sh ./test2.sh &
sh ./test3.sh &

wait
echo "主线程执行结束"

执行结果如下:

[root@hadoop-master shell-asy]# sh start-asy.sh 
并行执行
脚本1开始执行 20200917 07:21:00
脚本2开始执行 20200917 07:21:00
脚本3开始执行 20200917 07:21:00
脚本2执行结束 20200917 07:21:03
脚本1执行结束 20200917 07:21:05
脚本3执行结束 20200917 07:21:05
主线程执行结束

shell串行执行”&&”

shell中默认的就是串行执行脚本,如果将两条命令合并成一条执行可以加&&作为连接
例如:执行脚本并输出执行时间

[root@hadoop-master shell-asy]# cat start-syn.sh 
#!/bin/bash
echo "串行执行"
sh ./test1.sh
sh ./test2.sh
sh ./test3.sh

下面是顺序执行脚本并输出执行时间

[root@hadoop-master shell-asy]# sh start-syn.sh && date +"%Y-%m-%d %T" 
串行执行
脚本1开始执行 20200917 07:26:52
脚本1执行结束 20200917 07:26:57
脚本2开始执行 20200917 07:26:57
脚本2执行结束 20200917 07:27:00
脚本3开始执行 20200917 07:27:00
脚本3执行结束 20200917 07:27:05
2020-09-17 07:27:05

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/72658.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!