您的位置:首页 > 运维架构 > Linux

解决Linux/CentOS断开SSH连接后程序被终结的问题

2017-05-10 17:46 761 查看
有时候需要在云服务器上跑一些程序,比如ASF挂卡(steam挂卡不可取)、比如某个备份程序、FTP上传、服务器通讯等等等,一旦断开SSH,这些你在SSH启动的任务都会被杀掉(SIGHUP 信号)。

不同人有不同的解决方法,重点介绍两种吧:

1.nohup

命令格式为:

nohup 原本的执行指令


比如后台执行一个ASF.exe,可以这么写:
nuhup ASF.exe &


最后的一些结果会输出到nohup.out 文件中去。可以重定向,如:

nuhup ASF.exe > log.txt 2>&1 &


利用jobs及fg命令关闭该nohup任务。

2.screen

在CentOS下先进行安装:

yum -y install screen


然后创建一个名为box窗口(你可以任意取名字),并打开程序:

screen -S box
原本的打开指令
或者直接打开:
screen 原本的命令


*要关掉这个screen也很简单:

screen -ls    #显示所有的screen窗口的名字和进程号
kill [进程号]


进阶资料:

http://www.cnblogs.com/bohaoist/p/4965103.html

http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息