cbtt#
系统命令#
cbtt - 用于 AIP 交互作业的网络 I/O 服务器
概要#
CB_SERVERERDIR/cbtt
CB_SERVERDIR一般为/opt/skyformai/sbin
描述#
cbtt 是一个终端服务器,由 AIP 在首次启动远程执行时启动。cbtt 与客户端应用程序并发运行, 透明地处理所有 I/O 以及往返于远程任务的信号。cbtt 是一个基于每个应用程序的服务器进程,也就是说, 如果同一个应用程序有多个远程任务,则这些任务在客户端主机上共享同一个 cbtt。 cbtt 在应用程序终止时终止。cbtt 在应用程序退出时退出。
- I/O 重排
cbtt 是应用程序所有远程任务的 I/O 代理。 默认情况下,cbtt 从标准输入读取数据并将流转发给所有远程任务。cbtt 将所有远程任务的输出打印到标准输出 (stdout) 和标准错误 (stderr)。可以禁用或启用特定远程任务的标准输入。这样可以将标准输入转发到选定的远程任务。也可以禁用或启用远程任务读取标准输入。这对于某些应用程序(例如分布式 Shell)是必需的,因为 Shell 会从标准输入读取命令行,并将任务调度到远程主机执行,在此期间远程任务必须读取标准输入。
- TTY 模式
当分布式应用程序在远程主机上运行时,cbtt 可以在本地模式和远程模式之间切换 TTY。 在本地模式下,所有控制键均在本地解释。在远程模式下,输入流直接传递给远程任务。用户通常无需了解这些细节。
- 作业控制
cbtt 透明地支持作业控制。它捕获信号(例如 SIGTSTP、SIGINT 和 SIGTERM)并将其传递给远程任务。 因此,当用户按下作业控制键(例如 Ctrl-Z 或 Ctrl-C)时,远程任务会收到 SIGTSTP 或 SIGINT 信号。借助 cbtt 的支持,远程任务可以像在本地运行一样被暂停或恢复、置于后台或前台以及终止。
- cbtt-客户端协调
对于需要在远程主机上使用伪终端的应用程序,必须小心同步 tty 的本地/远程模式设置。
注意#
cbtt 必须安装**CB_SERVERDIR** (/opt/skyformai/sbin)中。