首页 > 解决方案 > Subprocess Popen 命令运行但实际上并没有做任何事情

问题描述

我们正在尝试通过在子进程中运行 cmd 命令来在 python 中进行端口转发,如下所示:

from subprocess import Popen, PIPE

port = 57123
username = "user"
password = "password"
remote_ip = "10.1.1.110"
cmd = subprocess.Popen(f'ssh -f -N -L {port}:127.0.0.1:{port} {username}@{remote_ip}', stdin=PIPE, shell=True)
cmd.stdin.write(password+'\n')
cmd.stdin.flush()

这段代码运行没有错误,但它实际上并没有做任何事情。端口不转发。cmd.stderr也是空的 ( None)。知道我们做错了什么吗?

标签: pythonsshsubprocessportforwarding

解决方案


推荐阅读