0

3 つのスレッドと ssh をサーバーに同時にスポーンするために一緒にスクレイピングしたアプリがあります。上記のように最初の最終目標を達成するために、明らかに攻撃的にコード化されたアプリケーションを作成しましたが、これは間違っていることがわかっており、そのためのガイダンスを探しています。

引数の受け渡しについては、後で cmd や cmd2 などで手直しする必要があることはわかっていますが、今のところ、それは私の主な関心事ではありません。

私は今、サブプロセスを生成し、物事を連続的に行っていることを知っています。返信をお待ちしております。

#!/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
4

0 に答える 0