摘要: 前面写了一篇shell多进程的文章,多进程实现起来非常简单,但是当有大量任务,如有一百个很大的日志文件需要分析 此时若同时并行100个进程,那io肯定要爆,所以必须要控制并发数 linux 有两种管道:匿名管道和命名管道 匿名管道即常用的'|',命名管道可以使用mkfifo命令创建 管道有一个特性: 阅读全文
posted @ 2017-06-14 14:43 酱油ops 阅读(1945) 评论(0) 推荐(1) 编辑
摘要: linux每一个打开文件都会关联一个文件描述符,需要的时候我们可以使用exec命令指定一个大于3的数字作为文件 linux默认文件描述符 每打开一个shell就会打开默认的三个文件描述符描0,1,2,分别代表标准输入,标准输出和标准错误输出。 exec命令关联文件描述符 exec 5 /tmp/a. 阅读全文
posted @ 2017-06-14 14:29 酱油ops 阅读(1744) 评论(0) 推荐(1) 编辑
摘要: 多进程监听多端口 多线程把ForkingTCPServer换成ThreadingTCPServer去掉max_children配置即可 注: 坑! 若使用多线程,因为无法配置线程数,并发太高会导致服务器产生很多进程也许会达到服务器显示的单个用户最多进程数,从而导致异常(linux 默认普通用户限制1 阅读全文
posted @ 2017-06-11 13:11 酱油ops 阅读(5496) 评论(0) 推荐(1) 编辑
摘要: 背景: 线上机器,需要过滤access日志,发送给另外一个api 期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截图了。。。) 总之就是端口不够用了报错 原因: 每一条日志都是一次请求发送给api,短连接产生大量time_wait状态,占用了大量端口 这种高并发导致的大 阅读全文
posted @ 2017-06-11 13:07 酱油ops 阅读(7074) 评论(0) 推荐(1) 编辑
摘要: 需要把线上的access日志发送到另一个程序接收 开始想着用python实现,虽然python也有实现类似tail F的方式,但太麻烦,而且效率也有折扣 偶然发现了shell可以实现网络client,并且只用几行代码就可以实现 先上代码: 超级简单,实际处理的逻辑的代码就2行以下是代码说明: 第一行 阅读全文
posted @ 2017-06-11 13:04 酱油ops 阅读(716) 评论(0) 推荐(1) 编辑
摘要: 之前需要多进程程序都是python实现,闲来无事弄了下shell多进程,发现so easy(笑哭) 代码上: 代码2上: 区别其实只有最后一行。 wait表示等待所有子进程结束后父进程退出 wait $! 等待最后一个子进程结束后父进程退出,$!表示上一个进程的pid,也可以等待指定的pid she 阅读全文
posted @ 2017-06-11 12:52 酱油ops 阅读(300) 评论(0) 推荐(1) 编辑
摘要: 最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明 ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制 常用三种端口转发模式:本地端口转发,远程端口转发,SOCKS代理 一、本地端口转发 场景1: 本机A:10.10.100.1 跳板机B:111.11 阅读全文
posted @ 2017-06-11 12:46 酱油ops 阅读(307) 评论(0) 推荐(1) 编辑