0
我試圖使用subprocess,popen,os.spawn來運行一個進程,但好像需要一個僞終端。向psuedo shell發出命令(pty)
import pty
(master, slave) = pty.openpty()
os.write(master, "ls -l")
應該發送「ls -l命令」,以從TTY ......我試圖讀取響應os.read(碩士,1024),但沒有什麼是可用的。
編輯:
還試圖創建的pty的,然後在子打開通話 - 仍然沒有奏效。
import pty
import subprocess
(master, slave) = os.openpty()
p = subprocess.Popen("ls", close_fds=True, shell=slave, stdin=slave, stdout=slave)
類似:
Send command and exit using python pty pseudo terminal process
How do *nix pseudo-terminals work ? What's the master/slave channel?
你不需要一個pty來運行'ls'。一根管子就能很好地工作。你在那裏嘗試了什麼? – Keith
我使用'ls'來測試功能。 – user791953
在您的編輯中,您正在混合pty和管道。不要這樣做。使用一個或另一個。 – Keith