是否可以ssh
进入服务器,使用Ruby
启动Sinatra
程序,然后退出ssh
会话,仍然拥有{{} 1}}服务器运行?我试过这个,但似乎当我退出服务器时,Sinatra
服务器退出了。难道我做错了什么?如果我不能这样做,我将如何连续运行Sinatra
?
答案 0 :(得分:3)
这通常是由于shell(例如bash)退出并向其所有子进程发送挂起或终止信号。要在后台启动服务器并使其免受HUP信号的影响,您可以使用命令nohup
:
nohup - run a command immune to hangups, with output to a non-tty
例如:
nohup ruby sinatra_app.rb &
http://en.wikipedia.org/wiki/Nohup
对于更强大的部署选项,您可能希望查看Nginx和/或Phusion Passenger之类的内容:
答案 1 :(得分:0)
您也可以使用gnu screen
但是nohup可能是“可能最小的东西”。如果您开始多项工作并希望以不同方式处理它们,屏幕可以提供帮助。