Я пытаюсь запустить несколько команд на удаленном компьютере после выполнения команды ssh для этого компьютера и затем запуска команд на его терминале.
Я хочу использовать подпроцесс для этой работы. Поэтому я написал следующую команду: -
import subprocess
process = subprocess.Popen(['ssh', 'rahul@172.20.70.121'], shell=False, stdin=subprocess.PIPE)
Теперь я получаю терминал удаленного компьютера и передаю следующую команду, которая выполняется на этом компьютере: -
print process.communicate('python test.py /home/rahul/vPath-dissector')
Но когда я снова вызываю последнюю вызванную команду, выдается ошибка: -
print process.communicate('python temp.py /home/rahul/vPath-dissector')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/subprocess.py", line 690, in communicate
self.stdin.write(input)
ValueError: I/O operation on closed file
Итак, какую команду я могу использовать для отправки нескольких команд без закрытия файла ???