如何通过ssh隧道打开守护进程?

时间:2016-02-10 18:41:59

标签: ssh daemon

我一直在研究接受连接的http服务器,然后根据主机名,从.so加载正确的项目,生成客户端要求的页面,然后将它们发回。 既然我有几个工作项目,我有兴趣将它们提供给其他人,但这是我的问题:

我通过ssh连接到我的专用服务器,并从那里启动我的守护进程,但过了一段时间,页面不再可访问,因为我的程序不再运行。 一段时间后我也被服务器踢了。我想知道 : 如何让我的服务器保持运行?经过一段空闲时间后我继续被ssh踢出的事实解释了为什么我的守护进程被关闭了吗?

提前感谢能够给我一些答案的人。

1 个答案:

答案 0 :(得分:0)

当您的SSH会话超时时,SIGHUP被发送到从当前交互式shell分叉的子进程。这就是流程终止的原因(服务器不再运行)。

为避免服务器踢出空闲的SSH连接,请将ServerAliveInterval设置为从服务器发送响应请求(例如~/.ssh/config

Host * ServerAliveInterval 30

要避免shell子进程终止,请参阅

简而言之,有3种选择:

  • nohup的
  • disown / setsid
  • 在服务器上的tmuxscreen会话中的CLI中启动服务器
  

注意:如果已正确守护服务器实例,请尝试查看monitsupervisord以保持其正常运行;-D