我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux BASH多进程并行处理的方法实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux BASH多进程并行处理的方法实现


#!/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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux BASH多进程并行处理的方法实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux BASH多进程并行处理的方法实现

#!/bin/bash SEND_THREAD_NUM=13 tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名 mkfifo “$tmp_fifofile" # 新建一个随机fifo管道文件 e
2022-06-04

Linux中如何实现BASH多进程并行处理

这篇文章主要为大家展示了“Linux中如何实现BASH多进程并行处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何实现BASH多进程并行处理”这篇文章吧。代码如下:#!/bin/
2023-06-09

Java并行处理的实现方法

本篇内容介绍了“Java并行处理的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录1. 背景2.知识3. Java 中的并行处理4
2023-06-20

java多线程并行处理的方法是什么

Java中实现多线程并行处理的方法有以下几种:1. 继承Thread类:创建一个继承自Thread类的子类,重写run()方法,在run()方法中实现并发执行的代码。然后创建多个该子类的实例,并调用start()方法来启动线程。2. 实现R
2023-09-21

python 判断linux进程,并杀死进程的实现方法

如下所示:''' @author: Jacobpc ''' import os import sys import subprocessdef get_process_id(name):child = subprocess.Pope
2022-06-04

Python多进程并行编程实践中mpi4py的使用方法

这篇文章将为大家详细讲解有关Python多进程并行编程实践中mpi4py的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言在高性能计算的项目中我们通常都会使用效率更高的编译型的语言
2023-06-17

python实现多线程post方法进行压

#coding=utf-8import httplib,urllibfrom time import ctime import threading import csv postJson={ }#定义需要进行发送的数据pa
2023-01-31

Node多进程的实现方法

我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能
2022-11-13

shell脚本实现多进程运行的方法示例

本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子for ip in 192.168.56.{1..254} do(ping $ip -c 4 &>/dev/null;if
2022-06-04

PHP Linux脚本开发经验分享:利用多进程实现并发处理

在进行PHP脚本开发时,我们经常会遇到需要处理大量数据或执行耗时操作的情况。如果按照传统的串行方式进行处理,会导致整个过程非常耗时,影响性能。为了提高处理效率,我们可以利用Linux的多进程能力,实现并发处理。下面我将分享一些我在PHP L
2023-10-21

linux多线程并发的处理方式有哪些

在Linux中,有多种方式可以实现多线程并发的处理:1. 使用线程库:Linux提供了一些线程库,如POSIX线程库(pthread),可以使用它们来创建和管理多线程。这些库提供了一组函数,可以用来创建线程、同步线程、线程间通信等。2. 使
2023-09-27

探索 Swoole 扩展的多进程和多线程并发编程,解锁并行处理的奥秘

探索 Swoole 扩展的多进程和多线程并行编程,掌握高并发应用开发技巧
探索 Swoole 扩展的多进程和多线程并发编程,解锁并行处理的奥秘
2024-02-05

操作系统多线程:实现任务并行处理的秘诀

多线程是操作系统中的一种重要机制,它允许多个任务同时执行,从而提高系统的整体性能。本文将介绍多线程的基本概念、实现原理以及在实际项目中的应用,帮助读者深入理解多线程的工作原理。
操作系统多线程:实现任务并行处理的秘诀
2024-02-24

Linux怎么使用awk文本处理工具实现多行合并

这篇文章主要介绍“Linux怎么使用awk文本处理工具实现多行合并”,在日常操作中,相信很多人在Linux怎么使用awk文本处理工具实现多行合并问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux怎么使用
2023-06-13

Python中实现一行拆多行“和“多行并一行的方法是什么

本篇内容介绍了“Python中实现一行拆多行“和“多行并一行的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!提下面这样一个问题,其
2023-06-16

android多线程并发处理的方法是什么

在Android中,有多种方法处理多线程并发。以下是一些常用的方法:1. AsyncTask:AsyncTask是一种简单的异步任务处理机制。它允许在后台线程中执行耗时操作,并在主线程中更新UI。AsyncTask有三个关键方法:onPre
2023-08-12

android多线程并发处理的方法有哪些

在Android中,可以使用以下几种方法实现多线程并发处理:1. 使用Thread类:可以通过继承Thread类或使用Runnable接口创建多个线程对象,并在run()方法中实现并发处理逻辑。2. 使用AsyncTask类:它是一个封装了
2023-08-19

java多线程并发处理的方法是什么

Java多线程并发处理的方法有以下几种:1. 继承Thread类:创建一个继承自Thread类的子类,重写run方法来定义线程需要执行的任务,然后创建该子类的对象并调用start方法启动线程。2. 实现Runnable接口:创建一个实现了R
2023-08-24

java多线程并发处理的方法有哪些

Java提供了多种方法来实现多线程并发处理:1. 继承Thread类:通过继承Thread类,重写run()方法,并在该方法中实现需要并发处理的逻辑。然后创建Thread对象,并调用start()方法启动线程。2. 实现Runnable接口
2023-09-22

编程热搜

目录