问题标签 [pty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

c - pty 手册页疑问/问题

man pty说……

为什么这样?这些操作是如何处理的linux

0 投票
1 回答
1284 浏览

c - pty 终端数据包模式 TIOCPKT

如果我启动一个终端,我怎么知道它以什么模式启动?谁来决定?我可以在数据包模式下启动我的终端,即TIOCPKT

我遇到了这个数据包模式链接,上面写着:Packet mode is enabled by pushing the pckt module on the master-side.- 我不完全理解这一点。

0 投票
2 回答
624 浏览

macos - 如何将终端切换到使用 NSTask 启动的进程的新子进程?

我用这里描述的方法做了一个伪终端:http: //lists.apple.com/archives/student-dev/2005/Mar/msg00019.html

终端本身运行良好。无论如何,问题是终端无法切换到子进程。例如,我使用 启动bashNSTask如果我ftp在 中执行bash,它会自动停止。

如果我尝试继续ftpwith fg,它会安静地终止。(我用活动监视器检查了这个)

我认为它需要更多的基础设施(完成伪终端)才能将控制权切换到子进程。这样做需要什么?

0 投票
2 回答
484 浏览

python - python pty 模块 - 缓冲区挂起?

我正在尝试制作一个打开 ssh 连接并允许通过 ssh 发送命令并返回命令输出的小模块。因此,应该只有一个 ssh 连接(这样多个命令不会导致自动阻塞)。我知道 paramiko,但我不能使用它,因为由于其他限制,我必须使用 python3.2。

我写的模块在这里:http: //kbicker.web.cern.ch/kbicker/ssh.py

原则上,它有效。但是,当使用 cat 读取文本文件时,程序会挂起。我确定这是因为从 pty 读取新行挂起。我认为,存在某种缓冲问题,但我不知道如何解决它。

对于我的代码的任何其他建议,我也将不胜感激。

预先感谢您的帮助!

0 投票
1 回答
139 浏览

unix - 如何分叉交互式程序

我有一个启动成本很高的交互式程序。启动后,我想将该过程分成单独的并发会话。理想情况下,每个单独的会话都将成为一个GNU 屏幕窗口,但能够单独 telnet/ssh 到每个会话也可以。

从头开始写这个应该不会太难,但似乎以前应该做/考虑过一些事情,也许这是一个坏主意的原因......

我知道另一种方法是使用共享内存来存储初始化成本很高的数据。我不愿意走这条路的原因是共享数据使用带有指针的 C++ 数据结构,这使得很难将其映射到不相关的进程中。

0 投票
2 回答
1702 浏览

javascript - 在 python 中为基于 Web 的 ubuntu 终端编写伪终端

我有兴趣编写一个基于 Web 的终端,它可以在 ubuntu 终端中执行和自动完成命令。

我摆弄了 Anyterm http://www.anyterm.org,它在后端服务器上使用 ROTE:“用于 VT102 终端仿真的简单 C 库”,在终端 ui 上使用 javascript/html。问题是我不能让它在同一个窗口中打开两个终端。

在做了一些研究之后,我决定在 python 中编写一个终端服务器/伪终端(以正确的术语为准),它可以:

  • 在 ubuntu 终端执行命令(如 ls、grep 等...)
  • 自动完成命令(如 $gdi (pressed tab) $gedit)
  • 并同时打开多个终端实例(当在一个终端中键入 ls 时,另一个终端不会将 ls 识别为自另一个终端会话以来的最后一个命令)

我发现使用pty python 模块我可以编写一个伪终端,但是我是 python 的新手,我什至无法让该页面上的示例正常工作。

我打算让 python 脚本使用我将编写的 javascript/html 终端 ui 为 http 服务器提供服务(这是我想为这个项目选择 python 的主要原因)。然后我想让 web ui 与后端终端“服务器”对话并将结果返回给 web ui。

如果你能指出我正确的方向,也许告诉我应该使用哪个模块 - 如果不是 pty - 并给我一些关于如何编写 python 伪终端服务器的想法,我将不胜感激。

我知道 javascript/php 并且熟悉 bash 脚本 - 此时我可以选择基于 C 或基于 python 的后端服务器,python 是否适合这个项目?

注意:我打算编写一个使用 ajax post 或 get 方法从后端服务器检索终端输出的 ui。

0 投票
1 回答
1601 浏览

git - 当我因“通道 0 上的 PTY 分配请求失败”而被锁定时如何获得 shell 访问权限

我在远程外壳上安装了 gitosis。它工作正常。但现在我无法登录交互式 shell。如此所述,似乎 gitosis 禁用了 tty。无论如何我可以把它找回来吗?我没有远程服务器的 root 访问权限。

0 投票
3 回答
16440 浏览

c - 如何在带有 C 的 Linux 中使用伪终端?

我试图弄清楚如何在 linux 中使用伪终端,本质上我想创建一个 telnetd 克隆,我在前面的问题中提到过。

我了解主从终端的概念,并且对如何在 C 中使用系统调用有基本的掌握。

我的问题涉及打开从/主文件描述符后的下一步。如何在从站中启动 getty?网上有没有使用 forkpty()、openpty() 或其他 API 的好资源?

C 中的一些示例会有所帮助。这是一个非常相似的问题,但没有人真正提供任何示例。

0 投票
2 回答
3776 浏览

ruby - 如何确定 PTY.spawn 何时在 ruby​​ 脚本中完成,然后开始新进程

我有一个 Ruby 脚本,它生成一个进程并使用 expect 等待输入请求,提供该输入,然后在进程完成时生成一个新进程。

最初的问题是脚本没有等待第一个进程完成,而是执行了脚本中的下一行。

所以我将 Process.wait(pid) 添加到脚本中,但现在脚本挂起等待第二个PTY.spawnat的输入Process.wait(pid)

我正在使用 Ruby 1.9.2 运行脚本,因为我知道在 Ruby 1.8.7 中 存在一些问题。PTY.spawn

脚本如下所示:

有谁知道为什么脚本会挂在Process.wait(pid)第二个PTY.spawn

0 投票
2 回答
4280 浏览

ssh - 在 ec2 实例上运行 sudo 命令

我无法在我的 ec2 客户端上运行“sudo su”,我通过 java 程序 ssh 进入客户端并通过程序运行命令。我可以运行像“ls”和“ifconfig”这样的命令。

我收到一条错误消息,提示“sudo:抱歉,您必须有一个 tty 才能运行 sudo”。

如何运行命令,我正在使用 Jsch 将 ssh 用于我的 ec2 实例。