简而言之: 当远程服务器连接关闭(shell-window关闭)时,保持perl / python / R / etc脚本/程序在服务器上运行(通过ssh连接)的最优雅解决方案是什么?
详细信息: 我写了一些将在我们的服务器上运行几天的脚本。但是,在通过Linux-shell通过SSH连接到服务器之后,启动程序并关闭窗口也会终止程序 - 好吧,那不是新的。但是,如何配置服务器以在ssh-connection关闭后保持程序运行? “屏幕”可以是一个解决方案,嗯,但对我来说,打字很多,有时我忘了开始屏幕会话并启动程序
感谢您的建议!
干杯, 雪人
答案 0 :(得分:7)
NOHUP - http://en.wikipedia.org/wiki/Nohup
ssh your_server
nohup nice perl your_script &
exit
答案 1 :(得分:2)
如果你看到ssh的手册页,你可以在“-n”选项下面找到一个例子。
ssh -n <user>@<server> <cmd> &
答案 2 :(得分:0)
希望其他人可能会发现这个问题,并发现这些信息很有用,那里有一个叫做“screen”的应用程序,也可以让你实现这个目标。
大多数发行版应该在screen
包名称下的存储库中包含它们。如果我想创建一个屏幕,我只需运行screen -dmS screenName command
,它就可以在另一个“屏幕”中运行该命令,可以使用screen -r screenName
访问该屏幕。您可以使用CTRL + A + D随时从屏幕上分离。
我希望有人可以从这些信息中受益,因为当你想要运行一个进程但是能够检查它的输出时它是有用的,假设它有任何(我的许多应用程序都有)。