为什么80%的码农都做不了架构师?>>>   

在shell中进行多进程处理,以前写的都是单进程的,今天看了一篇文章讲了linux的多进程处理。

#!/bin/bash SEND_THREAD_NUM=13
tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名
mkfifo “$tmp_fifofile" # 新建一个随机fifo管道文件
exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件
rm $tmp_fifofile
for ((i=0;i<$SEND_THREAD_NUM;i++));do
echo # for循环 往 fifo管道文件中写入13个空行
done >&6 for i in `seq 100`;do # 100 次 for 循环 开始
read -u6 # 从文件描述符6中读取行(实际指向fifo管道)
{
echo $i # 打印 i
sleep 3 # 暂停3秒
echo >&6 # 再次往fifo管道文件中写入一个空行。
} **&** # {} 这部分语句被放入后台作为一个子进程执行,所以不必每次等待3秒后执行
#下一个,这部分的echo $i几乎是同时完成的,当fifo中13个空行读完后 for循环
# 继续等待 read 中读取fifo数据,当后台的13个子进程等待3秒后,按次序
# 排队往fifo输入空行,这样fifo中又有了数据,for语句继续执行 pid=$! #打印最后一个进入后台的子进程id
echo $pid done
**wait**
exec 6>&- #删除文件描述符6 exit 0

多进程的实现,主要有两点

1、将当前的进程放到后台去执行,要用到&

2、在shell脚本的最后面加上wait,等待所有进程完成后再进行后续处理

转载于:https://my.oschina.net/sucre/blog/688514

Linux BASH多进程并行处理的方法实现相关推荐

  1. linux bash环境,Win10系统怎样启用Linux Bash环境

    不久前,微软召开了Build 2016大会,会上微软宣布将在Windows10系统中内置Linux Bash,这一消息引起了非常大的轰动.到了Windows10内部预览版Build 14316,该特性 ...

  2. linux -bash: ipconfig: command not found 解决方法

    linux -bash: ipconfig: command not found 解决方法 参考文章: (1)linux -bash: ipconfig: command not found 解决方法 ...

  3. linux bash中too many arguments问题的解决方法

    linux bash中too many arguments问题的解决方法 参考文章: (1)linux bash中too many arguments问题的解决方法 (2)https://www.cn ...

  4. linux打开python3_Python3 执行Linux Bash命令的方法

    和之前C++执行Linux Bash命令的方法 一样,Python依然支持system调用和popen()函数来执行linux bash命令. 方法一:system调用 #仅仅在一个子终端运行系统命令 ...

  5. Linux Bash漏洞最新最全的修复方法

    原文链接:Linux Bash漏洞测试方法与修复方法http://www.jishubu.net/yunwei/anquan/382.html Linux 用户今天又得到了一个"惊喜&quo ...

  6. 在Windows中运行Linux bash命令的几种方法

    如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本. 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 ...

  7. linux文件夹打开闪退,win10系统内置的Linux Bash启动闪退的解决方法

    很多小伙伴都遇到过win10系统内置的Linux Bash启动闪退的困惑吧,一些朋友看过网上零散的win10系统内置的Linux Bash启动闪退的处理方法,并没有完完全全明白win10系统内置的Li ...

  8. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  9. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

最新文章

  1. 问题解决——使用CriticalSection后 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
  2. PLSQL写给员工涨工资,总裁涨1000,经理涨800,其他员工涨400
  3. IDF实验室-图片里的英语
  4. java学习(89):Charactor包装类统计
  5. 一个空间配置多个虚拟主机
  6. php符号%3c%3e啥意思,[PHP防火墙]输入内容存在危险字符,安全起见,已被本站拦截...
  7. mybatis查询返回null的原因_可怕!你没看错,这次确实是纯手工实现一个MyBatis框架...
  8. 使用篇-基于Laravel开发博客应用系列 —— 联系我们 发送邮件 队列使用(基于数据库)...
  9. python爬虫大作业爬多少数据_爬虫大作业
  10. sqlite使用手册
  11. 从零开始学WEB前端——VUE介绍
  12. H3C交换机配置的备份与恢复[3CDaemon]
  13. 计算机配置路径,计算机基础~Windows工作路径、相对路径、绝对路径
  14. day3-作业(18-23)(java泛型总结一)
  15. 华三模拟器:路由备份路由聚合
  16. linux pv 信号量,pv操作与信号量(示例代码)
  17. 壳聚糖导管复合辛伐他汀/泊洛沙姆407水凝胶/负载转化生长因子β1温敏性壳聚糖水凝胶的制备
  18. 名悦集团分享汽车保养小知识,汽车异味轻松去除有妙招
  19. CSAPP Lab3 实验记录 ---- Attack Lab(Ctarget)
  20. SpringSecurity

热门文章

  1. 怎么证明自己会python_1024程序员节,请用一句话证明你是一个程序员!
  2. tuxedo linux 安装
  3. windows server 2012将计算机图标添加到桌面(图文教程)(转)
  4. 布局智能家居 三大电信运营商进展如何?
  5. JStorm如何保证消息不丢失
  6. 使用Android简单实现有道电子词典
  7. hdu I Hate It
  8. 【转】移动客户端测试总结
  9. Install Eclipse 3.7 Indigo and configure Eclipse
  10. 程序员专属段子集锦 2/10