【发布时间】:2015-04-07 11:03:00
【问题描述】:
目标:
我正在开发一个 iOS 终端模拟器,用于通过 telnet 协议访问我的 Unix 服务器。我正在针对 AIX 和 Fedora Linux 进行测试。
问题:
如果我将 Ctrl-Z (ASCII 26) 发送到 AIX 服务器,它会按预期运行:我会返回一个类似 stopped programname 的字符串,然后我发送的任何其他字符都会得到回显。
当我将它发送到 Fedora 服务器时,在我再次发送 Ctrl-Z 之前,我没有收到回显。该程序在 Fedora 机器上的 Bash 下运行。
为什么我会看到这种行为差异?
【问题讨论】:
-
AIX 和“Red Hat”的区别行为举个例子
I ran the command "yes hello". So hello was printing on the screen until i press "CTRL+Z" to abort it. So i sent the appropriate code for CTRL+Z which is 26. In case of AIX it will return some data "stopped yes hello" and after this if i pressed any character , server send back result. In case of "Red Hat" i received DM (242). After this each character i pressed, do not display back from the server until i press CTRL+Z again. -
我正在使用 BASH 单元格。
-
你确定程序在 Bash 下运行吗?您是否打开了另一个终端并运行类似
ps -e --forest的命令来检查其亲子关系? -
如果您使用另一台机器上的交互式
telnet程序,它是否可以正常工作? -
@WarrenYoung 是的,我确信“Bash”。我有一个软件,其中 this(ps -e --forest) 命令与我的模拟器中的运行相同。是的,它可以在另一台机器的 telnet 程序中正常工作。
标签: ios shell unix telnet terminal-emulator