"killall python" 后看不到键盘输入
Can't see keyboard input after "killall python"
我正在开发嵌入式 Busybox 系统 运行ning Python 2.7.
每当我使用
杀死 Python
killall python
虽然我 运行 交互式 python shell 交互式 python shell 的未来实例会中断该会话。
例如我与当前 运行 连接 python shell 的设备建立了 ssh 连接。现在我使用另一个 shell 的 "killall python"。第一个 ssh 连接上的 shell 关闭(如预期的那样)并显示消息 "Terminated"。到目前为止,这都是预期的。
现在,我在上次使用 python shell 的同一 shell 中再次使用 "python" 命令。现在,我的输入显示 none 时出现异常行为。
例如如果我通常输入 "print('test')" 我会看到这个:
>>> print('test')
test
>>>
如果我在杀死 python 后也这样做,我会看到:
>>> test
>>>
如您所见,我的输入 ("print('test')\n") 没有按预期显示。
不过,程序的所有输出都是可见的。
要解决此问题,我必须关闭连接(例如 ssh 连接)并重新启动它。
它只影响在我使用 killall 命令时具有 python shell 运行ning 的连接。因此,如果有多个 ssh 连接,只有那些在执行 killall 命令时具有 python 运行ning 的连接受到影响。
不管我用"killall"还是只用"kill [PID]",结果都是一样的。
有谁知道是什么原因造成的以及如何解决这个问题?
"Local echo" -- 打印您键入的输入 -- 是一个可切换的终端设置。您正在让您的终端进入关闭状态。 (如果程序在提示输入密码时退出,这种情况很容易发生,这是一种特殊情况,出于安全原因通常关闭本地回显)。
要将您的终端完全重置为已知的良好状态,请 运行 stty sane
在重新启动 Python 之前。要仅启用本地回显,运行 stty echo
.
我正在开发嵌入式 Busybox 系统 运行ning Python 2.7.
每当我使用
杀死 Pythonkillall python
虽然我 运行 交互式 python shell 交互式 python shell 的未来实例会中断该会话。
例如我与当前 运行 连接 python shell 的设备建立了 ssh 连接。现在我使用另一个 shell 的 "killall python"。第一个 ssh 连接上的 shell 关闭(如预期的那样)并显示消息 "Terminated"。到目前为止,这都是预期的。
现在,我在上次使用 python shell 的同一 shell 中再次使用 "python" 命令。现在,我的输入显示 none 时出现异常行为。
例如如果我通常输入 "print('test')" 我会看到这个:
>>> print('test')
test
>>>
如果我在杀死 python 后也这样做,我会看到:
>>> test
>>>
如您所见,我的输入 ("print('test')\n") 没有按预期显示。 不过,程序的所有输出都是可见的。
要解决此问题,我必须关闭连接(例如 ssh 连接)并重新启动它。 它只影响在我使用 killall 命令时具有 python shell 运行ning 的连接。因此,如果有多个 ssh 连接,只有那些在执行 killall 命令时具有 python 运行ning 的连接受到影响。
不管我用"killall"还是只用"kill [PID]",结果都是一样的。
有谁知道是什么原因造成的以及如何解决这个问题?
"Local echo" -- 打印您键入的输入 -- 是一个可切换的终端设置。您正在让您的终端进入关闭状态。 (如果程序在提示输入密码时退出,这种情况很容易发生,这是一种特殊情况,出于安全原因通常关闭本地回显)。
要将您的终端完全重置为已知的良好状态,请 运行 stty sane
在重新启动 Python 之前。要仅启用本地回显,运行 stty echo
.