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

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

 

shell脚本再执行过程中就一个进程,从头到尾

下面配置shell脚本执行过程中启动多个进程同时执行

#!/bin/bashfor ((i=1;i<=10;i++))do(  echo "$i"  sleep 10) &donewaitecho -E "########## $SECONDS ##########"

注:

$SECONDS:是执行完脚本所用的时间   

wait:是等待所有的进程执行完毕

执行结果   

[root@wcy ~]# bash test.sh 12345678910########## 10 ##########

进程查看

[root@wcy ~]# ps -ef | grep test.sh root 1764 1565 0 19:23 pts/1 00:00:00 bash test.shroot 1765 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1766 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1767 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1770 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1772 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1773 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1774 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1776 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1777 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1778 1764 0 19:23 pts/1 00:00:00 bash test.shroot 1786 1708 0 19:23 pts/2 00:00:00 grep test.sh

 

[root@wcy ~]# ps -ef | grep test.sh | grep -v grep | wc -l11

查看同一时刻多少个sleep在跑

[root@wcy ~]# ps -ef | grep sleep | grep -v grep root 2168 2165 0 21:59 pts/1 00:00:00 sleep 10root 2169 2166 0 21:59 pts/1 00:00:00 sleep 10root 2172 2167 0 21:59 pts/1 00:00:00 sleep 10root 2174 2171 0 21:59 pts/1 00:00:00 sleep 10root 2175 2173 0 21:59 pts/1 00:00:00 sleep 10root 2176 2170 0 21:59 pts/1 00:00:00 sleep 10root 2179 2177 0 21:59 pts/1 00:00:00 sleep 10root 2181 2178 0 21:59 pts/1 00:00:00 sleep 10root 2182 2180 0 21:59 pts/1 00:00:00 sleep 10root 2184 2183 0 21:59 pts/1 00:00:00 sleep 10

  

[root@wcy ~]# ps -ef | grep sleep | grep -v grep  | wc -l10

多进程的shell脚本可以用于并行执行多任务

#!/bin/bashfor ((i=1;i<=1;i++))do(for ((num=1;num<=100;num++))do  echo "task1-- $num"  sleep 1done) &(for ((ber=1;ber<=100;ber++))do  echo "task2-- $ber"  sleep 1done) &donewait

效果,两个同时执行

[root@wcy ~]# bash duo.sh task2-- 1task1-- 1task2-- 2task1-- 2task2-- 3task1-- 3task2-- 4task1-- 4········

脚本进程

[root@wcy ~]# ps -ef | grep duo.sh | grep -v grep root 2221 1491 0 22:13 pts/0 00:00:00 bash duo.shroot 2222 2221 0 22:13 pts/0 00:00:00 bash duo.shroot 2223 2221 0 22:13 pts/0 00:00:00 bash duo.sh

同时执行的进程

[root@wcy ~]# ps -ef | grep sleep | grep -v grep root 2357 2223 0 22:14 pts/0 00:00:00 sleep 1root 2358 2222 0 22:14 pts/0 00:00:00 sleep 1

 

转载于:https://www.cnblogs.com/LuckWJL/p/9674347.html

你可能感兴趣的文章
转:python numpy教程
查看>>
15.1 如何实现一个默认不可选中的下拉菜单?
查看>>
appfabric cache配置,实验记录
查看>>
leetcode day3
查看>>
使用arrayadapter和自定义adapter
查看>>
os模块
查看>>
二分查找法-java实现
查看>>
第三次毕业设计任务书
查看>>
Codeforces Round #311 (Div. 2)题解
查看>>
[c++]基类对象作为函数參数(赋值兼容规则)
查看>>
原型prototype
查看>>
7月24日云栖精选夜读:未来的超级智能网络攻击需要AI竞技俱乐部来拯救
查看>>
第八周技术学习+《你是锦瑟我为流年 三毛的千山万水》简记
查看>>
archlinux alsa安装,音量设置和音量信息保存
查看>>
ArcGIS Flex API 3.0新功能
查看>>
谁养鱼(四):遗传算法的实现
查看>>
第二次结对编程作业——必应词典客户端测试报告
查看>>
安装xampp后apache不能启动解决方法
查看>>
leetcode Spiral Matrix
查看>>
virtualbox centos 网络配置
查看>>