如何通过 SSH 保持登录到 Synology 服务器?

如何通过 SSH 保持登录到 Synology 服务器?

如何通过 SSH 持续登录 Synology(自定义 Linux)服务器?我试图让一个程序在服务器上持续运行,但当我从自己的电脑上关闭 SSH 窗口时,该程序也会被终止。有什么办法吗?谢谢。

答案1

使用该screen实用程序。如果您使用的是基于 Debian 或 Ubuntu 的发行版,请通过 安装它sudo apt-get install screen。要运行它,请在信息屏幕上输入screen,然后按。在此处运行您的命令。Enter

如果您断开连接,可以通过键入screen -rd并按 来恢复Enter。这将带您回到仍在运行的会话。非常适合将您的会话移动到另一个终端或 SSH 连接。

答案2

在另一个 Linux 上,您可以通过运行不带 pty 的命令(即没有 ssh -t 选项)来轻松完成此操作:

ssh syno 'sleep 999 </dev/null >&/dev/null &'

我既不使用 Windows 也不使用 Putty,但如果是这种情况,我看到有一个命令叮当在类似的putty套件中:

plink -ssh -l root -i mykey.ppk syno 'sleep 999 </dev/null >&/dev/null &'

或者,你应该能够使用以下方式在 putty 中运行命令

nohup sleep 999 </dev/null &

答案3

使用“nohup”和“screen”是确保您手动启动的作业继续运行的好的解决方案。

如果您希望进程在重启后继续运行,则必须确保它在重启后启动。有几种解决方案。在我的 Synology 工作站上,我发现“/volume1/startup”目录中以“S”开头的文件作为“init.d”目录中的启动脚本运行。您可以在“/etc/rc”脚本中看到:

/etc/rc:        if [ -d /volume1/startup ]; then
/etc/rc:                for startsh in /volume1/startup/S* ; do

如果 /etc/synoinfo.conf 具有以下配置则可行

supportstartupd="yes"

这也将在 Synology 系统重新安装后继续存在。

相关内容