shell 多进程

shell 多进程来模拟多线程

(1){ } 建立代码块

(2)使用 & 将进程放入后台

[[email protected] ~]$ cat threads.sh
#!/bin/bash

for ((i=0;i<5;i++))
do
{
    sleep 3
    echo $i>>aa && echo $i
}&
done
wait
cat aa | wc -l
rm aa

result

时间: 2024-11-09 05:52:04

shell 多进程的相关文章

PHP CLI shell 多进程入口

#!/usr/bin/env php<?php/* * PHP CLI shell 多进程入口 * * 运行 ./bat.php [--help] 查看帮助 * 运行 ./bat.php bat-test.php 执行示例 * * bat-test.php 脚本内容如下: * <?php #防误确认if(!bat::confirm()){    bat::message("用户取消");    exit;} #全局变量global $x; $x = 12345; #添加任务

shell多进程实例

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

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

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

[Linux]shell多进程并发—详细版

业务背景 schedule.sh脚本负责调度用户轨迹工程脚本的执行,截取部分代码如下: #!/bin/bash source /etc/profile; export userTrackPathCollectHome=/home/pms/bigDataEngine/analysis/script/usertrack/master/pathCollect ############################## # # 流程A # ##############################

shell多进程的实现

需求:多个脚本彼此互不干涉,同时运行,节省时间 菜鸟级实现: #!/bin/sh dir="/data/test" $dir/sbin/test1.sh >> $dir/log/test1.log 2>&1 & $dir/sbin/test2.sh >> $dir/log/test2.log 2>&1 & $dir/sbin/test3.sh >> $dir/log/test3.log 2>&

Shell多进程并发

业务背景: 让a.sh和b.sh同时执行,而不是顺序执行 解决方案: s.sh负责调度a.sh和b.sh 代码如下: s.sh #!/bin/bash source /etc/profile; date='2015-05-06' echo 'start s.sh' sh a.sh $date > a.log 2>&1 & sh b.sh $date > b.log 2>&1 & echo 'end s.sh' a.sh #!/bin/bash sou

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

shell多进程脚本

#!/bin/bash python_path=/home/huaw/crawler python_name=list_all_v6_crawler.py MAX_SYNC_PROCESS=40 echo "max allowed ic_stat_company_submit process is $MAX_SYNC_PROCESS" current_sync_num=`ps -ef|grep $python_name | wc -l |grep -v grep` current_sy

shell多进程并发数控制

在批量执行任务是,单进程执行速度太慢,使用&不加数量控制,又担心资源占用过多,导致宕机等问题,因此我们需要控制并发进程的数量,保证效率的同时,保证资源占用不会太高. 其中一个解决思路是利用简单的生产者-消费者模型. 以下为范例脚本: #!/bin/bash fifo_file=a.pipe mkfifo $fifo_file #创建任务队列 exec 5<>$fifo_file rm $fifo_file process_num=10 #并发任务的数量 function task()