gpt4 book ai didi

Python os.forkpty 为什么我不能让它工作

转载 作者:行者123 更新时间:2023-11-28 22:07:59 25 4
gpt4 key购买 nike

import pty
import os
import sys
import time

pid, fd = os.forkpty()

if pid == 0:
# Slave
os.execlp("su","su","MYUSERNAME","-c","id")

# Master
print os.read(fd, 1000)
os.write(fd,"MYPASSWORD\n")
time.sleep(1)
print os.read(fd, 1000)
os.waitpid(pid,0)
print "Why have I not seen any output from id?"

最佳答案

你睡得太久了。最好的办法是一次读取一个字节就开始读取。

#!/usr/bin/env python

import os
import sys

pid, fd = os.forkpty()

if pid == 0:
# child
os.execlp("ssh","ssh","hostname","uname")
else:
# parent
print os.read(fd, 1000)
os.write(fd,"password\n")

c = os.read(fd, 1)
while c:
c = os.read(fd, 1)
sys.stdout.write(c)

关于Python os.forkpty 为什么我不能让它工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com