您的位置:首页 > 其它

如何在SSH断开后让远程服务器程序继续运行

2011-10-09 15:00 351 查看
主要参考来自:http://blog.csdn.net/wind19/article/details/4986458

今天在一个技术群中看到有人在讨论这个问题,刚好手头上正在做物联网项目,也遇到这么个问题,只是之前一直在测试阶段,没怎么把这个问题放在心上,断了重新连接就可以了,只是麻烦一点罢了。不过过阵子要出差,后面还要演示,不可能再继续这样一直用SSH连着重新启动各种远程程序,该准备的还是先准备好,以防到时出错,所以刚刚特意就这个问题搜了一下解决方法。

有两种方法:一是用nohup命令,另一种是用screen工具。因为nohup比较方便,所以采用这种方法,关于screen的具体用法,可以参考上面的博文。

当SSH网络断开后,会向该连接相关所有会话进程发一个SIGHUP信号,收到这个信号的进程默认是终止运行,nohup命令的作用就是让进程不接收到该信号,这样就可以在SSH断开后保证程序继续运行。同时如果该程序有标准输出,则使用nohup命令后,输出会自动被重定向到该程序的目录下的nohup.out文件中,如果当前目录的nohup.out文件不可写,则会重定向到$HOME/nohup.out文件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: