使用python脚本运行多个进程和IPC

时间:2014-10-01 17:14:04

标签: python ssh ipc paramiko

我正在开发一个测试自动化框架。我需要使用python脚本启动三个进程(客户端,主机适配器和主机)。我是python语言的新手。

我有一个启动主机适配器和主机的python脚本。 当他们等待客户端启动时,我需要启动客户端。客户端与主机适配器通信。 如果我在同一个脚本中启动客户端,我会收到信号SIGPIPE。因此,我将代码移动到另一个脚本

如果我尝试从不同的脚本启动客户端,则客户端和主机适配器之间没有通信。

脚本1看起来像这样:

import paramiko
paramiko.util.log_to_file('ssh.log')

#Starting process 1- Host
client2 = paramiko.SSHClient()
client2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client2.connect('10.4.0.65',22, username='FBML7HR', password='mypwd')
stdin, stdout, stderr = client2.exec_command('cd  /var/home/FBML7HR/SrcCode/yyy/xxx/north/test/hostsim/; ./host')

#Starting process 2- Host adatpor

client1 = paramiko.SSHClient()
client1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client1.connect('10.4.0.65',22, username='FBML7HR', password='mypwd')
 stdin, stdout, stderr = client1.exec_command('cd /var/home/FBML7HR/SrcCode/yyy/xxx/north/build/Linux-2.6.18-194.8.1.el5/bin/; export VXNHOME=/home/FBML7HR ;echo $VXNHOME; ./hostadptor')

Script2看起来像这样:

import paramiko
paramiko.util.log_to_file('ssh1.log')

#Starting Client
client3 = paramiko.SSHClient()
client3.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client3.connect('10.4.0.65',22, username='FBML7HR', password='mypwd')
stdin, stdout, stderr = client3.exec_command('cd   /var/home/FBML7HR/SrcCode/yyy/xxx/north/test/vxnclient_mt; ./vxnclient_north_mt 105 19239 105 16889 19239 60000 60000 1 1; ps -ef | grep vxnclient_north_mt')

使用这些脚本执行进程间通信时我缺少什么? 任何帮助将不胜感激。

0 个答案:

没有答案