私のコードはこのpopen呼び出しでハングしているようです
command = "ls"
commandList = shlex.split(command)
print("Executing " + command +"\n")
print(commandList)
output = "#" * 10 + "\n" + server.name + "\n\n"
process = subprocess.Popen(
command,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE)
output = process.communicate()[0]
#scriptRunner.threadComplete(output)
return output
コードはのexecuteScriptOverSSH
メソッドにありますSshWorker
class WorkerThread(threading.Thread):
def __init__(self, pathToScript, server, runner):
super(WorkerThread, self).__init__()
self.scriptRunner = runner
self.server = server
self.pathToScript = pathToScript
self.sshWorker = SshWorker.SshWorker()
def run(self):
print('Thread Starting')
output = self.sshWorker.executeScriptOverSSH(
self.server,
self.pathToScript)
print('Thread Finishing!')
self.scriptRunner.threadComplete(output)`
スレッドはへの呼び出しを通過することはありませんPopen
-そこでprintステートメントを使用してチェックしました。何か案は?