让服务器上的程序不间断运行

通过ssh登录服务器运行一个python脚本,想让它24小时不间断运行。可是一旦我退出ssh,整个程序就断了。这是由于ssh的session特性——它本身就是一个session,连接上开启session,断开ssh连接则关闭session,关闭时所有你在这个session里运行的东西都会被中断。

关于ssh关闭连接就关闭运行程序的问题,在这里可以看到一些解决方案

解决方案一:tmux

很幸运,在学习怎么把vim分屏浏览时知道了tmux,然后看视频时学到:原来ssh是这样的特性,断开就会停止所有之前连接ssh期间运行的所有processes,而tmux的核心业务不在于把屏幕分成几块好看,而是它能保存session!而且还能多端实时直播session!

解决方案二:nohup

网上一般说到不间断任务,一般也都会先提到这个,可以说是常规方案。
nohup一般都是Linux系统自带的,使用极其简单:

$ nohup 具体指令 &

&是让其转入后台运行,而不在前台显示。

解决方案三:screenbyobu

这据说是现在更常用的方法,参考文章

解决方案四:disown

据说的最简单方案:在命令后加&或者用ctrl+z把任务转到后台,然后用disown -a将任务解除与当前session的关联(意思就是当前session关闭也不影响它)

    原文作者:Solomon_Xie
    原文地址: https://www.jianshu.com/p/ee3c14006c1e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞