通过 SSH 启动软件

通过 SSH 启动软件

我很好奇如何通过 SSH 隧道启动软件,但同时保持软件在 SSH 服务器上运行。

例如,我为我的兄弟和他的朋友托管了一个 minecraft 服务器。如果发生某些事情,我需要重新启动 minecraft 软件,虽然我可以通过 Putty 或终端从任何计算机执行此操作,但只有我保持 SSH 隧道畅通,正在运行的 minecraft 软件会话才会保持活动状态。

如何在不让 SSH 客户端托管软件会话的情况下使用 SSH 启动软件和服务?

答案1

在此示例中,我将使用svnserve必须启动的守护进程。因此,假设您的 SSH 用户名是“kyle”,服务器的主机名是“home.example.com”,您可以执行以下操作:

ssh -f [email protected] "svnserve -d"

有时用户必须强制分配伪终端,在这种情况下使用 -t 标志:

ssh -t [email protected] "svnserve -d"

如果你的守护进程不知道如何“守护”自身,那么你可以将其发送到后台:

ssh -f [email protected] "/usr/local/bin/minecraft-server &"

强烈建议阅读 SSH 手册页...;)如果您花 2 分钟阅读 SSH 客户端的手册页,您可以自己找到这些信息。

答案2

您应该使用屏幕或 tmux。

screen 启动屏幕,然后您可以随意连接和分离终端( ctrl + A , D )来分离。

相关内容