iis服务器助手广告
返回顶部
首页 > 资讯 > 服务器 >Shell脚本模拟多线程功能分享
  • 900
分享到

Shell脚本模拟多线程功能分享

多线程脚本功能 2022-06-04 21:06:02 900人浏览 薄情痞子
摘要

#!/bin/bash function pinghost { ping $1 -c 1 -w 10 |grep rtt|cut -d “/” -f6 } tmp_fifofile=”/tmp/$

#!/bin/bash

function pinghost {

ping $1 -c 1 -w 10 |grep rtt|cut -d “/” -f6

}

tmp_fifofile=”/tmp/$.fifo”   # 脚本运行的当前进程ID号作为文件名

mkfifo $tmp_fifofile         # 新建一个随机fifo管道文件

exec 6<>$tmp_fifofile         # 定义文件描述符6指向这个fifo管道文件

rm $tmp_fifofile

thread=10

for ((i=0;i<$thread;i++));do   # for循环 往 fifo管道文件中写入10个空行

echo

done >&6

while read domain

do

read -u6                  # 从文件描述符6中读取行(实际指向fifo管道)

{

pinghost ${domain};      # 执行pinghost函数

echo >&6                      # 再次往fifo管道文件中写入一个空行。

}&                                  # 放到后台执行

done</home/miotour/ip.txt

wait                          #因为之前的进程都是后台执行,因此要有wait来等待所有的进程都执行完毕后才算整个脚本跑完。

exec 6>&-                #删除文件描述符6

exit 0

说明:{} 这部分语句被放入后台作为一个子进程执行,这部分几乎是同时完成的,当fifo中10个空行读完后 while循环
继续等待 read 中读取fifo数据,当后台的10个子进程后,按次序排队往fifo输入空行,这样fifo中又有了数据,for语句继续执行。

--结束END--

本文标题: Shell脚本模拟多线程功能分享

本文链接: https://www.lsjlt.com/news/18283.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何编写Shell脚本模拟多线程功能
    这篇文章主要讲解了“如何编写Shell脚本模拟多线程功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本模拟多线程功能”吧!代码如下:#!/bin/bashfunctio...
    99+
    2023-06-09
  • java多线程模拟实现售票功能
    铁道部发布了一个售票任务,要求销售1000张票,要求有3个窗口来进行销售,请编写多线程程序来模拟这个效果。 1 线程类 测试方法: public static void main...
    99+
    2024-04-02
  • linux下进程监控的shell脚本分享
    这篇文章主要介绍“linux下进程监控的shell脚本分享”,在日常操作中,相信很多人在linux下进程监控的shell脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下进程监控的shell脚...
    99+
    2023-06-09
  • Java多线程之简单模拟售票功能
    一、创建 二、完整代码 package com.ql; import lombok.SneakyThrows; import okhttp3.Call; import okh...
    99+
    2024-04-02
  • 如何实现可控多线程shell脚本
    这篇文章将为大家详细讲解有关如何实现可控多线程shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先来 1 段场景描述:某日,在鹅厂接到了这个任务,需要在Linux服务器中,对几千个IP进行一次P...
    99+
    2023-06-09
  • java如何使用多线程模拟抢红包功能
    这篇文章主要为大家展示了“java如何使用多线程模拟抢红包功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何使用多线程模拟抢红包功能”这篇文章吧。今天有朋友问我一道面试题,有5个人抢...
    99+
    2023-05-30
    java
  • 如何在Shell中实现“多线程”执行脚本文件
    本篇内容介绍了“如何在Shell中实现“多线程”执行脚本文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!即比如我有100个可执行文件,互相...
    99+
    2023-06-09
  • Python实现自动回复讨论功能的脚本分享
    目录好久不见实现过程一步拿捏讨论美图好久不见 写这篇文章只是想证明一下:本博主还在呼吸 许久未更,甚是想更呐~ 这段时间生活中充斥着各种事情,感觉每天都在忙忙碌碌,偶而停下疲惫的身躯...
    99+
    2024-04-02
  • vbs脚本多进程实现投票的功能
    这篇文章主要讲解了“vbs脚本多进程实现投票的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vbs脚本多进程实现投票的功能”吧!复制代码 代码如下:set shell=crea...
    99+
    2023-06-08
  • 如何使用Redis和Shell脚本开发分布式定时任务功能
    如何使用Redis和Shell脚本开发分布式定时任务功能引言:随着互联网技术的快速发展,定时任务功能在很多系统中已经变得非常重要。但是传统的单机定时任务在高并发场景下存在一些问题,例如任务的调度和执行不够灵活,无法应对负载均衡和容错等需求。...
    99+
    2023-10-22
    redis 关键词: Shell脚本 分布式定时任务
  • 如何用Shell脚本实现根据端口号kill相应进程功能
    本篇内容介绍了“如何用Shell脚本实现根据端口号kill相应进程功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:kill -9...
    99+
    2023-06-09
  • PHP Linux脚本开发经验分享:利用多进程实现并发处理
    在进行PHP脚本开发时,我们经常会遇到需要处理大量数据或执行耗时操作的情况。如果按照传统的串行方式进行处理,会导致整个过程非常耗时,影响性能。为了提高处理效率,我们可以利用Linux的多进程能力,实现并发处理。下面我将分享一些我在PHP L...
    99+
    2023-10-21
    Linux PHP 脚本
  • 微信小程序中如何实现按钮去除边框线分享页面功能
    小编给大家分享一下微信小程序中如何实现按钮去除边框线分享页面功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!有一个需求是分享当...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作