如何让python应用程序在继续之前等待某个子进程

2024-09-30 08:15:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python脚本中生成一个ssh进程,如下所示:

env = {'SSH_ASKPASS':'/home/max/repo/vssh/vssh/vssh.py', 'DISPLAY':':123'}
for x in sessions:
    current_session = Popen(["ssh", x.address],
                            stdin=PIPE,
                            stdout=PIPE,
                            stderr=None,
                            shell=False,
                            env=env,
                            preexec_fn=os.setsid)

问题是我的脚本启动子进程,然后继续运行。ssh需要给它一个密码,这就是我试图重定向到脚本的STDOUT/STDIN。只是当它请求我的密码时,我的脚本就完成了。在

在输入密码并通过ssh成功建立连接之前,如何使脚本停止?在


Tags: pyenv脚本密码homefor进程display
1条回答
网友
1楼 · 发布于 2024-09-30 08:15:14

如果它是从stdin读取的,那么可以使用communicate method。但是密码提示通常绕过stdin并与控制终端通信,在这种情况下,您需要类似pexpect的内容。在

您可能需要研究Python的SSH模块,它应该比管理子进程更简单、更健壮。在

相关问题 更多 >

    热门问题