GNU屏幕在从ssh会话生成后不久终止
我有一个别名来自动执行以下命令序列:GNU屏幕在从ssh会话生成后不久终止,ssh,gnu-screen,Ssh,Gnu Screen,我有一个别名来自动执行以下命令序列: ssh到远程服务器 使用屏幕执行java程序 大概是这样的: alias command='ssh-i[私钥路径]-p[端口]-t[USER@REMOTE_HOST]屏幕[执行JAR文件的SHELL脚本] 别名工作正常(正如我看到的,在执行别名后,屏幕在远程计算机中运行),但在执行别名后,屏幕会很快终止——不管屏幕是否分离。客户端和远程计算机都在OSX上运行 但是,如果我按顺序手动执行命令(不使用别名一次执行所有命令),则 ssh-i[私钥路径]-p[
- ssh到远程服务器
- 使用屏幕执行java程序
- ssh-i[私钥路径]-p[端口]-t[USER@REMOTE_HOST]
- screen[执行JAR的SHELL脚本]
当我从客户端计算机执行别名时,后台似乎有某个进程终止了屏幕。这可能是什么原因?谢谢 最可能的问题是ssh在传递要运行的命令时默认不分配(伪)终端。最简单的方法是将
-t
选项传递给ssh(1)
,这将告诉ssh无论如何分配一个终端(只要ssh(1)
有一个控制终端)。这将允许一切以与分离命令时相同的方式工作。最可能的问题是ssh在传递命令运行时默认不分配(伪)终端。最简单的方法是将-t
选项传递给ssh(1)
,这将告诉ssh无论如何分配一个终端(只要ssh(1)
有一个控制终端)。这将使所有操作与您分离命令时的操作方式相同。谢谢您的回答。实际上,我在别名中将-t传递到ssh(1)中。下面是它的样子:alias command='ssh-i[PATH TO PRIVATE KEY]-p[PORT]-t[USER@REMOTE_HOST]screen[执行JAR文件的SHELL脚本]澄清一下,问题是屏幕将像往常一样运行(正如我在屏幕上看到的程序输出),但在短时间(<30秒)之后,它将在程序完成之前终止。不过,如果我手动将ssh连接到远程计算机,然后使用screen执行程序,则不会发生这种情况。谢谢您的回答。实际上,我在别名中将-t传递到ssh(1)中。下面是它的样子:alias command='ssh-i[PATH TO PRIVATE KEY]-p[PORT]-t[USER@REMOTE_HOST]screen[执行JAR文件的SHELL脚本]澄清一下,问题是屏幕将像往常一样运行(正如我在屏幕上看到的程序输出),但在短时间(<30秒)之后,它将在程序完成之前终止。但是,如果我手动将ssh连接到远程计算机,然后使用screen执行程序,则不会发生这种情况。