连接到SSH服务器的正常方法是ssh username@ip_address。但是用户可能只想在远程计算机上运行程序。因此,程序名称后跟普通参数ssh username@ip_address <program_name>。例如,ssh username@ip_address ls。除了交互式程序(还接受用户输入并提供输出)之外,该参数很好top。输出是
TERM环境变量未设置。
这意味着sshd和top程序之间没有连接(伪)终端。解决方法是-t在整个命令现在变为的地方添加参数ssh -t username@ip_address top。
我的问题是,为什么默认情况下sshd也不能使用伪终端与非交互式程序进行通信,因此无需-t为交互式程序添加参数?
RequestTTY yes(或force)。
top可以批处理模式运行。