подпроцесс python несколько команд - PullRequest
0 голосов
/ 06 августа 2020

хотел бы открыть сеанс s sh, запускать команды и получать вывод в реальном времени по мере выполнения процесса (эта база будет включать выполнение дополнительных команд на удаленном сервере)

from subprocess import Popen, PIPE

with Popen(['ssh <server-domain-name>',
            ],shell=True,
           stdin=PIPE, stdout=PIPE, stderr=PIPE,
           universal_newlines=True) as ssh:
    output1 = ssh.stdin.write('ls -l')
    output2 = ssh.stdin.write('mkdir test')
    status = ssh.poll()

print(output1)
print(output2)

так далеко это то, что у меня есть, использование ssh.communicate[<command>] дает правильный результат, но закрывает подпроцесс после первой команды, какие-либо мысли?

1 Ответ

0 голосов
/ 09 августа 2020

у меня работало

from fabric2 import Connection
with Connection('<host>') as c:
    print(CGREEN +'connected succsfully!' + CEND)

    #gather user info
    user = io.StringIO
    user = c.run("whoami", hide=True)
    print(f'user found:{user.stdout} ')

    #fetching files
    c.run(<command>, pty=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...