擅长:python、mysql、java
<p>问题出在别的地方。如果您打开一个交互式shell,通常会打开一个终端窗口来运行bash、sh、csh或其他任何东西。看到终端这个词了!</p>
<p>在过去,我们把终端连接到一个串行端口(telnet也这样做,但通过ip),同样是终端这个词。</p>
<p>即使是一个哑终端响应ESC代码,报告它的类型和设置光标的位置,颜色,清除屏幕等</p>
<p>因此,您正在使用交互式输出启动一个子进程,但是除了使用bash启动参数(如果有)之外,没有其他方法可以告诉shell和子进程是指向终端的。</p>
<p>我建议您启用telnetd,但只能在本地主机(127.0.0.1)上启用
在您的程序中,制作一个套接字并连接到本地主机:telnet和看看如何模拟一个合适的终端。如果一个程序处于行模式,你没问题,但如果你去全屏编辑,你将需要一个80x24或132x24的数组,或者任何你想存储其字符、颜色的数组。您还需要能够在该数组中上移行。</p>
<p>我没有看过,但我无法想象python中没有telnet客户机示例,而且终端emu也必须在那里!</p>
<p>另一件好事是,如果ip连接丢失,telnet会话会清理干净,从而消除了重影进程。</p>
<p>马蒂金</p>