Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 通过Python脚本理解系统进程间通信

from socket import *from time import ctimeimport os,sys #sys定义了进程退出的方法HOST="localhost"  #定义主机PORT=21567  #定义端口号BUFSIZ=1024  #定义缓冲区ADDR=(HOST,PORT)  #定义元组tcpSerSock=socket(AF_INET,SOCK_STREAM)#生成TCP SockettcpSerSock.bind(ADDR) #将该Socket与元组进行绑定tcpSerSock.listen(5)  #监听请求while True: #定义无限循环(越来越像shell)print "waiting ...."try:  # 在生成进程中有销毁tcpSerSock的字句,如果不捕获这个异常将会导致程序错误!tcpCliSock,addr=tcpSerSock.accept()except:  #捕获所有异常sys.exit(0)  #只要捕获到阻塞失败将退出当前进程。(只有生成的进程才会导致阻塞失败,在生成进程中才有销毁tcpSerSock的字句)if os.fork():  #如果在主进程中的操作passelse:  #如果在派生进程中的操作print "con from :",addrwhile True:data=tcpCliSock.recv(BUFSIZ)if not data:tcpSerSock.close()  #销毁tcpSerSockbreak  #跳出循环!tcpCliSock.send("[%s] %s" %(ctime(),data))tcpSerSock.close()#这句永远不会被执行!