python实现进程间通信简单实例
本文实例讲解了python实现两个程序之间通信的方法,具体方法如下:
该实例采用socket实现,与socket网络编程不一样的是socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)的第一个参数是socket.AF_UNIX
而不是socket.AF_INET
例中两个python程序s.py/c.py要先运行s.py
基于fedora13/python2.6测试,成功实现!
s.py代码如下:
#!/usr/bin/envpython
importsocket
importos
if__name__=='__main__':
sock=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
conn='/tmp/conn'
ifnotos.path.exists(conn):
os.mknod(conn)
ifos.path.exists(conn):
os.unlink(conn)
sock.bind(conn)
sock.listen(5)
whileTrue:
connection,address=sock.accept()
data=connection.recv(1024)
ifdata=="hello,server":
print"theclientsaid:%s!\n"%data
connection.send("hello,client")
connection.close()
c.py代码如下:
#!/usr/bin/envpython
importsocket
importtime
if__name__=='__main__':
sock=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
conn='/tmp/conn'
sock.connect(conn)
time.sleep(1)
sock.send('hello,server')
printsock.recv(1024)
sock.close()