首页 / 操作系统 / 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()#这句永远不会被执行!