shell多进程的实现】的更多相关文章

之前需要多进程程序都是python实现,闲来无事弄了下shell多进程,发现so easy(笑哭) 代码上: #!/bin/bash sleep 10 & sleep 5& wait 代码2上: #!/bin/bash sleep 10 & sleep 5& wait $! 区别其实只有最后一行. wait表示等待所有子进程结束后父进程退出 wait $! 等待最后一个子进程结束后父进程退出,$!表示上一个进程的pid,也可以等待指定的pid shell程序虽然健壮性要弱一…
shell 多进程来模拟多线程 (1){ } 建立代码块 (2)使用 & 将进程放入后台 [zheng@localhost ~]$ cat threads.sh #!/bin/bash ;i<;i++)) do { echo $i>>aa && echo $i }& done wait cat aa | wc -l rm aa result…
1. 基础知识准备 1.1. linux后台进程 Unix是一个多任务系统,允许多用户同时运行多个程序.shell的元字符&提供了在后台运行不需要键盘输入的程序的方法.输入命令后,其后紧跟&字符,该命令就会被送往到linux后台执行,而终端又可以继续输入下一个命令了.比如: sh a.sh & sh b.sh & sh c.sh & 这三个命令就会被同时送往linux后台执行,在这个程度上,认为这三个命令并发执行了. 1.2. linux文件描述符 文件描述符(缩写…
展示代码 #!/bin/bash trap "exec 1000>&-;exec 1000<&-;exit 0" 2 # 分别为 创建管道文件,文件操作符绑定,删除管道文件 mkfifo testfifo exec 1000<>testfifo rm -rf testfifo # 对文件操作符进行写入操作. # 通过一个for循环写入10个空行,这个10就是我们要定义的后台线程数量. for ((n=1; n<=10; n++)) do e…
shell中有个&,表示该程序在后台执行,其实是fork了一个子进程,跟系统调用是一样的. 在实际的操作过程中,有时需要控制后台程序的个数,毕竟启动太多的后台,会对服务的性能造成影响. 所以需要控制后台程序的个数. 在Shell中,可以利用管道技术来实现,如下是程序的模板及其注释,有需要人可以拿去. #!/bin/bash fifo="/tmp/$$.fifo" #建立管道$$表示shell分配的进程号 mkfifo $fifo exec <>$fifo #将fif…
#!/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…
需求:多个脚本彼此互不干涉,同时运行,节省时间 菜鸟级实现: #!/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>&…
Reference: http://saiyaren.iteye.com/blog/1943207 1.     Shell  读取文件和写文件 for line in $(<top30000.url.utf-8.http_server_front_hphp.txt); do tmp_port=8080; for((i=0;i<=7;i++));do echo ${line/192\.168\.12\.63/192\.168\.12\.63:$tmp_port} >>top3000…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://nolinux.blog.51cto.com/4824967/1552472 前天简单分享了用 shell 写网络爬虫的一些见解,今天特地把代码发出来与51博友分享,还是那句话,爱技术.爱开源.爱linux. 针对脚本的注解和整体构思,我会放到脚本之后为大家详解. #!/bin/bash # # This script is used to grab the data on th…
使用shell脚本编写进度条 可已加入到shell脚本当中 主要作用:好看 美观 没毛用 (一) 普通进度条: #!/bin/bashb='' for ((i=0;$i<=20;i++)) do let jinshu=$i*5 printf "[%-20s]%d%%\r" $b $jinshu sleep 0.1 b=#$b done echo 倍数为5 (jinshu=$i* )$i乘以几倍数就是几 调整倍数后需调整  (“#?”代表要调整的参数) ((i=0;i<=#?…