ssh终端插入终端程序名称

时间:2017-01-26 04:47:44

标签: c ssh terminal

作为学术课程的一部分,我一直在使用SSH与我正在开发的操作系统进行通信。 (如果你很好奇,请参见www.xinu.cs.purdue.edu)我看到了一些非常奇怪的副作用,我希望有人可以解释它是如何发生的。< / p>

我现在修正的错误是我在创建新线程的函数中无序列出了参数。混乱的参数是功能名称及其优先级,它们目前都不是效果操作(只有一个进程想要运行)。

我担心的是,当我将进程列表(包含无效的名称和优先级)打印到控制台时,我的终端会将我的 ssh程序的名称插入终端 my 结束。 例如,这将是我终端的最后几行:

xsh $ ps
Pid Name             State Prio Ppid Stack Base Stack Ptr  Stack Size
--- ---------------- ----- ---- ---- ---------- ---------- ----------
  0 prnull           ready    0    0 0x0EFDEFFC 0x0EFDEEB0     8192
  1 rdsproc          susp   200    0 0x0EFDCFFC 0x0EFDCFC8    16384
  3 Main process     recv    20    2 0x0EFC8FFC 0x0EFC8F64    65536
  4 shell            recv    50    3 0x0EFB8FFC 0x0EFB8C7C     8192
  5 F                 curr  30548    4 0x0EFD8FFC 0x0EFD8D88     8192
xsh $ Bitvise SSH Client

我没有键入&#34; Bitvise SSH Client&#34;但是我可以退出它(而且我不能在$之前删除任何东西)。错误的进程列为F.此外,如果我切换ssh客户端,则插入我的新程序的名称(例如puTTy)。此外,如果多个进程初始化错误,则每个错误进程插入一次终端程序名称。 (无论过程如何以及它所处的状态如何都会发生)

错误程序可以通过SSH发送哪些信息使我的计算机打印出程序名称?我不记得导致这种情况的任何逃脱角色,我从未告诉另一台计算机我的终端程序是什么。

1 个答案:

答案 0 :(得分:2)

您的错误程序名称可能包含Ctrl-E字符(ASCII 005,ENQ字符)。这会导致PuTTY和其他终端仿真程序使用其程序名称进行回答。例如,请参阅this entry中的PuTTY FAQ。效果就像您输入了程序名称一样。