简单的shell多进程 (后台运行方式)

这两天,因为工作地需要做一些的多进程的工作,看了网上的一些例子,多是通过管道文件的方式来 实现的,后来想想也不用这么麻烦...

下面是一个多进程后台挂起的一个简单的例子,原理大概如下,先在后台挂起一定数量的进程,当正 在执行的进程数超过一定数值后,暂停任务分配,睡眠一定时间,若后台进程数小于你设定的数值后,继 续任务分配。

其实是不是也很简单...

################ change the var bill to fix #########################################

################ change the pro to multi process ####################################

################ yijy 2009.4.26 modified ############################################

InDir="/in"

OutDir="/out"

CurCmd="varfixf"

du ${OutDir}

rm ${OutDir}/*

du ${OutDir}

totalInDir=`find ${InDir} -type f | wc -l`

curDir=`pwd`

if [ ! ${totalInDir} ]

then

    echo "APP:MSG:There is no file in the in dir ... "

    exit

else

    echo "APP:MSG:Start to convert ... "

    currentBinNum=0

    find ${InDir} -type f | while read file

    do

        currentBinNum=`ps -ef | grep ${FEDX_HOME} | grep ${CurCmd} | grep ${curDir} 

|wc -l` /*统计后台挂起的数目*/

        echo "APP:MSG:Backgroud num : "${currentBinNum}

        while [ ${currentBinNum} -gt 30 ] /*如果挂起数目大于30,这个挂起数值可以自定

义,程序暂停,睡眠,睡眠之后继续检测后台挂起的数目*/

        do

            sleep 1

            echo 'sleeping ...'

            currentBinNum=`ps -ef | grep ${FEDX_HOME} | grep ${CurCmd} | grep 

${curDir} |wc -l`

        done

        filename=`basename $file`

        varfixf ${curDir}/${InDir}/${filename} ${curDir}/${OutDir}/${filename} > 

/dev/null &

    done

    echo "APP:MSG:Convert over ... "

fi

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索后台
, echo
, 后台运行
, grep
, app后台
, 多进程
, 后台进程
, in app billing 测试
, 后台file为null
, 数目
, 简单多进程
数值
shell多进程并发、shell 多进程、shell 多进程执行脚本、linux shell 多进程、shell脚本多进程,以便于您获取更多的相关知识。

时间: 2024-10-27 21:54:34

简单的shell多进程 (后台运行方式)的相关文章

shell多进程scp传文件的脚本

  昨天给大家了一个shell多进程并发,今天我们来看怎么同时批量在定义数量的服务器上执行相关命令,比起普通for/while循环只能顺序一条一条执行的效率高非常多,在管理大批服务器时非常的实用.以下脚本功能是通过scp(也可选rsync)向上千台服务器传更新包,脚本运行后同时在后台有50个scp进程向服务器传包: #!/bin/bash ip=`cat iplist.txt|grep -v "#"|awk '{print $1}'` dir='/usr/local/src' answ

将简单的shell升级为完全交互式的TTY

本文讲的是将简单的shell升级为完全交互式的TTY,每个pentester都知道,当用netcat反弹一个反向shell并且看到详细的netcat消息跟输出时,这种感觉爽歪歪. 当然他们也知道shell丢失时的沮丧,运行了一个不好的命令,挂起并且意外地击中"Ctrl-C",认为它会阻止它,其实是杀死整个连接. 除了没有正确处理SIGINT之外,还有其他的缺点: · 一些命令,像su和ssh要求一个正确的终端运行 · 通常不显示STDERR · 无法正确使用文本编辑器 vim · 没有

LFCS 系列第十讲:学习简单的 Shell 脚本编程和文件系统故障排除

理解终端Terminals和 Shell 首先要声明一些概念. Shell 是一个程序,它将命令传递给操作系统来执行. Terminal 也是一个程序,允许最终用户使用它与 Shell 来交互.比如,下边的图片是 GNOME Terminal. Gnome Terminal 启动 Shell 之后,会呈现一个命令提示符 (也称为命令行) 提示我们 Shell 已经做好了准备,接受标准输入设备输入的命令,这个标准输入设备通常是键盘. 你可以参考该系列文章的 第一讲 如何在 Linux 上使用 GN

对wget简单封装shell脚本

对wget简单封装shell脚本 文章地址: http://blog.csdn.net/5iasp/article/details/8862303 作者: javaboy2012 Email:yanek@163.com qq:    1046011462     作用: 抓取某个url数据内容保存到指定目录的指定文件中 mywget.sh #!/bin/sh url=$1 dir=$2 file=$3 /usr/bin/wget ${url}  -O ${dir}${file}.bk -o /d

【SHELL 编程基础第一部分】第一个SHELL脚本HELLOSHELL及一些简单的SHELL基础书写与概念;

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/shell/759.html 本章节分享Shell 学习篇,那么对于Shell 简单介绍下,对于Shell来说,大家可以理解Shell 是一个命令解释器,类似于DOS下的command.com.它接收用户命令(如ls等),然后调用相应的应用程序.另外一点它可以使用用户的缺省凭证和环境执行 shell.传统意义上的shell指的是命令行式的sh

编写你的shell其实很简单_linux shell

引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关联跑的.你也许会说,这太简单了,写个循环,然后,让他自己去跑就行了.是的,你可以很顺手的用你的编程语言去写循环,如PHP.但是,你知道,这样做其实是改变了代码结构了,鬼知道会导致什么结果呢? 并且,我并不保证里面所有代码的意思,我都懂!那么,问题来了,在不改变原代码的前提下,怎样去循环这几个月的时间

jq通过对象获取其ID值,再简单ajax传到后台改值

<tbody> <tr> <#if scopes?exists> <#list scopes as scopes> <td id='${(scopes.scopeId)?default(0)}'>${(scopes.lowerLimit)?default("")}</td> <td id='${(scopes.scopeId)?default(0)}'>${(scopes.upperLimit)?def

超简单的js网站后台管理功能折叠菜单代码

提示:您可以先修改部分代码再运行 建站服务 留言本 播放器 计数器 站长工具 ALEXA查询 PageRank查询 收录查询 提示:您可以先修改部分代码再运行

Linux集群和自动化维2.1 Shell和Python语言的简单介绍

第2章 生产环境下的Shell和Python脚本 接触Linux系统十多年了,Shell和Python脚本都已经完全融入笔者的生活中了.虽然Shell脚本只是一个简单的解释型语言,不受开发人员的重视,但对于系统运维工程师来说,它的作用举足轻重,它就像我们的瑞士军刀一样,可以帮助我们简化日常的工作并减少工作量.在系统维护工作中,Shell脚本常常能比用C或C++语言编写的程序更快地解决相同的问题,此外,Shell脚本具有很好的可移植性,有时跨越Unix与POSIX兼容的系统,只须略作修改即可,甚至