shell多进程模式及进程数控制

#!/bin/bash

a=1

for ((i=0;i<20;i++));do

{

echo $i-`date +%T`

} &

[[ $a%5 -eq 0 ]] && wait && sleep 2

let a++

done

wait

echo Done

时间: 2024-10-06 23:48:49

shell多进程模式及进程数控制的相关文章

Linux Shell多进程并发以及并发数控制

1. 基础知识准备 1.1. linux后台进程 Unix是一个多任务系统,允许多用户同时运行多个程序.shell的元字符&提供了在后台运行不需要键盘输入的程序的方法.输入命令后,其后紧跟&字符,该命令就会被送往到linux后台执行,而终端又可以继续输入下一个命令了. 比如: sh a.sh & sh b.sh & sh c.sh & 这三个命令就会被同时送往linux后台执行,在这个程度上,认为这三个命令并发执行了. 1.2. linux文件描述符 文件描述符(缩

shell的单、多、控制进程

shell的单.多.控制进程的使用方法 一.100个任务使用200秒(普通完成) cat process2.sh  #!/bin/bash function aaa ()  {  start=`date "+%s"`  for ((i=1;i<=100;i++))  do  echo test;sleep 2  done end=`date "+%s"`  echo "time:`expr $end - $start`"  }  aaa 

shell 练习(13) —— 监控 httpd 进程数是否异常

1. 题目 在服务器上,写一个监控脚本,要求如下: 1)每隔 10s 去检测一次服务器上的 httpd 进程数,如果大于等于 500 的时候,就需要自动重启一次 apache 服务,并且检测启动是否成功. 2)若没有正常启动还需再一次启动,最大不成功数超过5次则需立即发送邮件通知管理员,并且以后不再检测! 3)如果启动成功后,1分钟后再次检测 httpd 进程数,若正常则重复之前操作(每隔 10s 检测一次),若还是大于等于 500,那放弃重启并需要发送邮件给管理员,然后自动退出该脚本.假设其中

shell学习四十八天----进程建立

进程 前言:进程指的是执行中程序的一个实例.新进程由fork()与execve()等系统调用所起始,然后执行,知道他们下达exit()系统调用为止. linux系统都支持多进程.虽然计算机看起来像是一次做了很多事,但除非是他拥有多个CPU,否则一次做了好多事只是个错觉.事实上,每个进程仅容许在一个极短的期间执行,我们称为时间片段,之后进程会先暂时搁置,让其他等待中进程执行.时间片段极短,通常只有几微妙,所以人们很少感觉到进程将控制权交回内核,再交给另一个进程的这种文本切换.进程本身不会管理文本切

LinuxSHELL脚本中read、重定向和文件句柄和进程数目控制

1.把重定向作为read的输入 read可以从标准输入读取一行,下面就使用read配合重定向把文件作为read的标注输入. #!/bin/bash #name:     links.sh # Revision:    1.1 # Date:        2017// # Author:      yemo # Email:       [email protected] # Website:      # Description: Print the ip-links # Notes:    

【Nginx-反向代理服务器】基础知识(二)之多进程模式

Nginx的多进程模式 nginx在启动后,会有一个master进程和多个worker进程.master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程.而基本的网络事件,则是放在worker进程中来处理了.多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的.一个请求,只可能在一个worker进程中处理,一个wor

shell多进程实例

shell 多进程基础 代码块:用 { } 囊括,作为一个整体 &作用:将命令放于后台处理,空闲出当前控制台以用于做其他操作 wait命令:等待父进程的子进程都执行结束后再执行父进程中的指令 trap命令:获取控制信号,并作出处理:格式:trap CAMMANDS SIGNAL 通过exec执行:创建一个新的同PID的进程去处理,变量共用,执行完exec内容后,不回到原来的调用 通过fork执行:创建新进程(子进程)处理,变量只能单向传递 通过source执行:加载到同一进程,在同一控制台串行处

Linux中最大进程数和最大文件数

前言 Linux系统中可以设置关于资源的使用限制,比如:进程数量,文件句柄数,连接数等等. 在日常的工作中应该遇到过: -bash: fork: retry: Resource temporarily unavailable 或者 too many open files 这些类似的操作错误,前者是由于当前用户的进程数超出限制,后者由于当前用户的文件打开数超出限制. 下面就简单的介绍下配置用户进程数和文件打开数. 一.ulimit命令 Provides control over the resou

IIS应用程序池最大进程数设置

1.当工作进程数>1时,如果有多个连接请求就会启动多个工作进程实例来处理,所启动的最多工作进程数就是你设置的最大进程数,后续更多的连接请求会循环的发送至不同的工作进程来处理.每个工作进程都能承担负载一些连接请求,这是以牺牲CUP等系统资源为代价的. 2.每一个工作进程都会消耗系统资源和CPU,太多的工作进程会导致系统资源和CPU使用率急剧消耗:每一个工作进程都有自己的状态数据,如果Web应用程序依赖工作进程来保存状态数据,这种情况下,设置多个工作进程就不适用了.如果设置的工作进程数>1,状态数