示例 1)“未修改”的 PuTTY 登录到默认目录 >> 输入“Top”命令 >>> 输入“q”= 您返回到根(默认)目录。
示例#2)使用PuTTY设置选项remote command
=“Top”>>从顶部输入“q”=立即注销(会话关闭)
示例 #3)与 #2 相同,但有 1 个区别:PuTTY remote command
= echo "Hello World!"; top;
^^^ 回复#3:我原本以为短暂的停顿会回显(例如)Hello World!会模拟示例 #1,在“q”之后我会回到“主页”,但结果却等于 #2(会话已关闭)
快速摘要:这是其中之一“应该简单”;如何直接登录到“top”并在“q”之后仍然有会话?
...
.. 编辑:早上这个时候答案涌现得出奇地快!
注销:未登录 shell:使用‘exit’
以下是运行最佳的确切代码:
top; /bin/bash -il
我现在也在测试 Phil 的代码,他的代码实际上是一样的。
答案1
SSH 通过将远程命令传递给您配置的 shell 来执行该命令。如果您使用远程命令打开 PuTTY top
,则 SSH 将运行以下命令:
$SHELL -c "top"
当使用该-c
参数运行时,一旦命令终止,shell 也会终止,这会导致会话结束。
要运行 top 并保持登录状态,可以使用远程命令top; $SHELL -l
。这将运行 top,然后启动登录 shell。
答案2
它正在将您注销,因为您告诉 putty 在您的远程会话中只运行一个命令,即 top。
你可以创建一个文件~/bin/topsh
,内容如下
#!/bin/bash
top
exec bash
并使用 putty 的“远程命令”选项尝试运行它;一旦您离开 top,会话将被 bash shell 覆盖,当您离开时,您应该自动注销。
答案3
尝试将您的远程命令更改为
top; bash
答案4
最好的办法是查看 top 的批处理模式。您可以执行类似操作top -n1 -b
来获取系统快照。我不知道有什么方法可以让 top 在退出时停止清除屏幕。