from socket import *  #导入socket包中的所有内容
from time import ctime #导入time包,同时在本地可使用ctime进行调用
import os,sys #导入os,sys包
HOST='localhost' #定义主机
PORT=21567 #定义端口
BUFSIZ=1024 #定义缓冲区
ADDR=(HOST,PORT) #定义元组
tcpSerSock=socket(AF_INET,SOCK_STREAM)  #生成socket
tcpSerSock.bind(ADDR) #将地址及端口元组与socket绑定
tcpSerSock.listen(5) #监听用户请求
r,w=os.pipe()  #定义管道,进程间通信就靠他了!
while True: #定义无限循环
print "waiting ...."  #打印等待用户输入时的waiting
try: #检测可能的异常
tcpCliSock,addr=tcpSerSock.accept() #处理用户请求
os.write(w,"f") #在管道一侧写入字符“f”
except: #处理异常
sys.exit(0) #如果发生异常将直接退出
if os.fork():  #在父进程中的处理
pass #跳过处理
else: #在子进程中的处理
print 'con from :',addr #打印客户端信息
while True: #定义无限循环
data=tcpCliSock.recv(BUFSIZ) #从客户端接收1024大小的数据
   os.write(w,data) #将数据写入到道道中
if not data: #如果客户端没有任何输入,即直接回车或Ctrl+D
tcpSerSock.close() #关闭客户端链接
break #跳出无限循环
tcpCliSock.send('[%s] %s' %(ctime(),os.read(r,1024)))#否则回显用户信息并附加当前时间!
tcpSerSock.close() #这句话依然不会被执行。
通过这两个脚本大家能否对Apache的profork模式有一个更清晰的认识?

通过Python脚本理解系统进程间通信相关推荐

  1. linux多cpu运行python脚本,linux系统使用python获取cpu信息脚本分享

    linux系统使用python获取cpu信息脚本分享 代码如下: #!/usr/bin/env Python from __future__ import print_function from co ...

  2. 网闸的理解-python脚本模拟网闸实现

    文章目录 一.网闸初识 1)主要作用 2)硬件架构 二.图解网闸的实现原理 三.python脚本模拟网闸 一.网闸初识 网闸,又叫安全隔离与信息交换系统,使用一种专用的隔离芯片在电路上切断内外网连接的 ...

  3. linux系统如何创建python文件_linux如何运行python脚本

    1.使用python的IDLE运行python 如果你的Linux安装了python,按Ctrl+Alt+T键打开Terminal,输入指令:python.会出现>>>,这个时候就可 ...

  4. python脚本+任务计划-监测守护合同系统

    python脚本+任务计划-监测守护合同系统 1 背景 2 原流程 3 针对问题的想法 4 流程优化 5 实际操作 5.1 编制监测脚本 5.2 编制启动脚本 5.3 创建定时任务 5.3.1 服务器 ...

  5. Linux系统shell脚本、python脚本编写

    GPU排队脚本 python脚本 GPU排队脚本 ---- GPU一旦空闲触发脚本执行程序 参考: GPU排队脚本(python脚本) cmd = 'bash run.sh' 该句设置要执行的pyth ...

  6. python 脚本查看微信把你删除的好友--win系统版

    PS:目测由于微信改动,该脚本目前不起作用 下面截图来自原作者0x5e 相信大家在微信上一定被上面的这段话刷过屏,群发消息应该算是微信上流传最广的找到删除好友的方法了.但群发消息不仅仅会把通讯录里面所 ...

  7. salt远程执行python脚本_SaltStack与Python配合实现系统用户自动化管理

    背景需求: 随意业务的发展,服务器数据也是越来越多,开发人员,运维人员也是越来越多.这时候如果有大量的人需要登录到服务器的话,那么我们就很有必要对用户进行管理.传统的方式是登录到每台服务器创建一个用户 ...

  8. 用pyinstaller把python脚本编译成可执行程序(windows系统)

    链接:https://blog.csdn.net/kevindree/article/details/88711195 看了一些文章,介绍pyinstaller作为一个第三方库,可以将python脚本 ...

  9. 新版个人所得税计算python_2019年新税率工资计算器(python脚本) | linux系统运维...

    #!/usr/bin/evn python # coding=utf-8 # 2019年新税率个人所得税计算器,本脚本仅供学习 # blog: http://www.linuxyw.com # aut ...

最新文章

  1. mySQL5.5服务配置_配置mysql5.5主从服务器(转)
  2. linux软件包管理-rpm
  3. oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....
  4. node --- koa、Mongoose、vue联系知识梳理
  5. _临武县组合式桥梁伸缩缝F型伸缩缝—批发
  6. Python学习之路9☞面向对象的程序设计
  7. 给定(x,y)填充数据,前端怎么实现?
  8. 七十三、分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect传递参数...
  9. Oracle数据库的优化--索引
  10. c# winform实现人脸识别系统(文末附源码)
  11. DreamweaverCS6 破解补丁和说明
  12. inet_ntop函数的简单实现及调用
  13. 《Java 编程的逻辑》笔记——第1章 编程基础(一)
  14. 守卫解救acm_让作家阻止了它的解救
  15. 滴滴裁员并不代表互联网进入寒冬,只是精细化管理时代到来了
  16. 前端单元测试到底要怎么写?看这一篇就够了
  17. DeFi:过去、现在和未来
  18. android 唱歌打分源码,Android App中使用RatingBar实现星级打分功能的教程
  19. @http工作原理及使用
  20. 快速搭建BI商业报表平台

热门文章

  1. 《Python Cookbook 3rd》笔记(5.5):文件不存在才能写入
  2. 刷机提示图像和设备不匹配_安卓5.0升级失败如何解决 安卓5.0刷机失败解决方法介绍【教程】...
  3. 比特币Merkle树和SPV机制
  4. 25岁肥胖!美研究:晚年恐出现病态肥胖
  5. 【C/C++和指针】深度解析---指针与数组 【精华】
  6. 《 Docker 进阶与实战 》 读书笔记
  7. MySQL 5.6 for Windows 解压缩版配置安装
  8. VMware10上新建虚拟机步骤图解
  9. tinydate.js[v0.3] 新增了字符串格式化为日期对象的函数
  10. Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释