0

I have an app I've scraped together to try and spawn 3 threads and ssh into a server simultaneously. I wrote an obviously offensively coded application which I know is wrong which I am looking for some guidance for, to accomplish my initial end goal as mentioned above.

For the argument passing, I know I need to finesse it with something like cmd or cmd2 later on but for now that's not my primary concern.

I know that right now I'm spawning a subprocess and doing things serially. I look forward to your replies.

#!/usr/bin/python
import sys, os
import subprocess

if (len(sys.argv) > 1):
    if( sys.argv[1] == 'start' ):
        print "starting jboss"
    arg = str(sys.argv[1])
    elif( sys.argv[1] == 'stop' ):
        print "stopping"
    elif( sys.argv[1] == 'status' ):
        print "getting status"
    arg = str(sys.argv[1])
    print arg
    else:
        print "start or stop?"
    exit(1)
else:
    print "unexpected error"


host = "10.24.14.10 "
command = "sudo /etc/init.d/jbossas " + arg 
fullcommand = "ssh " + " " +  host + " " + " " + command  + " "+ arg 


print "full command: ", fullcommand

process = subprocess.Popen(fullcommand, shell=True,
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output,stderr = process.communicate()
status = process.poll()
print output


host = "10.24.14.20 "
fullcommand = "ssh " + " " +  host + " " + " " + command  + " "+ arg 

process = subprocess.Popen(fullcommand, shell=True,
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output,stderr = process.communicate()
status = process.poll()
print output


host = "10.30.1.1 "
fullcommand = "ssh " + " " +  host + " " + " " + command  + " "+ arg 

process = subprocess.Popen(fullcommand, shell=True,
    stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output,stderr = process.communicate()
status = process.poll()
print output
Zippy Zeppoli
  • 5,847
  • 4
  • 18
  • 16
  • ^ the question is how to implement this in a multithreaded app, instead of a multi-process app. – 9000 Jun 28 '12 at 01:49
  • Whether its multithreaded, or multiprocess, I'd like to execute a number of different commands (in this case ssh) in parallel using python. – Zippy Zeppoli Jul 03 '12 at 03:56

0 Answers0